LINUX.ORG.RU

Гвидо ван Россум покидает Zope Corporation


0

0

Гвидо ван Россум, создатель скриптового языка программирования Python, покидает Zope Corporation (http://www.zope.com/), где проработал долгое время после ухода из BeOpen. Об этом он заявил на OSCON (http://conferences.oreillynet.com/os2...). Гвидо будет работать в новом стартапе "Elemental Security", основанным Дэном Фармером, создателем нескольких известных утилит для сетевой безопасности, например, такой, как Satan. Уход означает, что Гвидо больше не будет работать над Zope3, и надеется, отдавать больше времени разработке Python.

>>> Подробности

★★

Проверено: green

Странно, что после того как из-за концептуальных дыр в системе безопасности питона пришлось выкинуть ее нафиг, его берут в подобный проект, и вообще куда-то берут.

anonymous
()

И вообще, пистон -- детский язычек, который не то что безапастнасть -- , даже константы не понимает ж) по глюкавости он в самый раз для лялиха годится и для красношапки в часности

попробуйте на пистоне написать: -0xFFFFFFFF и -(0xFFFFFFFF) какой будет результат?

Вот в Дельфи например все работает, а пистон глюкавит ж).

anonymous
()

Ну уморили - спасу нету ...

Дело не в языке - а в писателях.

Самое любопытное то, что о безопасности больше всего заботятся те кто не представляет никакого интереса для потенциальных взломщиков - мания очевидно.

Что касается дельфей - то мне интересно, почему автор поста не воспроизвел, например, blender на дельфях :)))

Охочих распускать пальцы веером отправляю к началу своего поста.

anonymous
()

Господа а вы по каким критериям определяете плохой язык или хороший ?

Можно усшышать из ваший уст какие ещё языки вы считаете плохими,
а может найдутся и те которые вы хорошими считаете ?

ezhikov
()

хороших языков -- нет.

есть brainfuck -- тоже дрянь, но по крайней мере там ничего лишнего.

anonymous
()

А реализация классов в пистоне по кривости может сравниться разве что с перлом

anonymous
()

Преферанс под Линукс

2ezhikov 

Перефразируя классика 

"Хороший язык - мертвый язык",  например латынь - хороший ззык :)

вообще то если серьезно то когда говорят о хорошем/плохом
языке то обычно за деревьями не видят леса.

Язык (программирования) это инструмент для решения тех
или иных задач (или если угодно для выражения маслей программиста в виде кода) и его хорошесть/плохость в первую очередь 
определяется тем насколько он хорошо или плохо подходит для
решения задачи...

Обычно куча шишек достается универсальным языкам :) (например C++)

А вот хорошие языки ( не бум называть конкретно ;)) они как латынь ;)

sS ★★★★★
()

Вот я и говорю, если нада набросать скрипт на 5 строк -- пистон еще годится, хотя лучше шелл -- не надо ждать пока пол-питона перекомпилится. А пытаться сделать что-нибудь серьезное с такой произвожительностью и объектной моделью писать могут только пианэры, не думающие о том как потом будут разгребать глюки и тормоза.

anonymous
()

питон -- это как лялих, его фанаты-красноглазики ко всему можно подряд прикручивают, а зачем -- сами не понимают. вот перенесли его кое-как под винды -- но средства взаимодействия с win api настолько убоги, что лучше бы и не переносить. Одна польза -- микрософт может заявить что whs поддерживает не только мс-языки.

anonymous
()

Судя по ошибкам anonymous (*) (2003-07-10 18:38:18.943792) не менее чем профессор:)

anonymous
()

Давно заметил, что ананимусы на ЛОРе, когда всилу своей абсолютной некомпетенции им по сути вопроса сказать нечего, начинают придираться к правописанию. Вот вы, anonymous (*) (2003-07-10 18:42:06.315107), видели код Zope и его костыли?

anonymous
()

Diomidis Spinellis. Code Reading: The Open Source Perspective.

Самый простой способ определить, кто является настоящим программистом - по используемому языку программирования. Настоящие программисты используют Фортран. Сосунки используют Паскаль. Никлауса Вирта, разработчика Паскаля, однажды спросили: "Как вы произносите свою фамилию?". "Вы можете обращаться ко мне по фамилии, произнося ее 'Вирт', или обращаться ко мне по значению, 'Ворт'", - ответил он. [Игра слов : Nicklaus Wirth произносится так же, как английское слово Worth - стоящий, ценный]

Исходя из этой ремарки, любой сразу поймет, что Никлаус Вирт - сосунок. Единственный механизм передачи параметров, принимаемый настоящим программистом - это передача параметров по значению, как это реализовано в компиляторах Фортрана G и H для ЭВМ ИБМ/370. Настоящим программистам для выполнения работы не
нужны абстрактные концепции: для счастья им достаточно перфоратора, компилятора Фортран-IV и пива. Настоящие программисты пишут программы работы со списками, обработки строк, учета ресурсов (если они вообще это делают) и искусственного интелекта на Фортране.

Если вы не можете выполнить эти работы на Фортране, выполните их на ассемблере. Если же их нельзя выполнить на ассемблере, их не стоит делать вообще.

Sun-ch
()

┌─────────────────────────────────────────────────────────────┐
│         Источник:  DATAMATION  Jul.??  pp.207-209           │
└─────────────────────────────────────────────────────────────┘

         Настоящие прграммисты не используют Паскаль
        =============================================

                                            Ed Post
                                            Wilsonville, Orezon

   В прошлом, во  времена  золотой  эры ЭВМ было легко отличать
мальчика от мужа (иначе  их  называют  "сосунки"  и  "настоящие
мужчины", соответственно). Тогда настоящие мужчины были те, кто
понимал в программировании,  с сосунки  -  те,  кто не понимал.
Настоящий программист легко произносил такие фразы,  как "DO 10
I = 1, 10" или "ABORT", а все остальные нечто вроде "ЭВМ  слиш-
ком сложна для меня" и "Я не могу полагаться на ЭВМ - они слиш-
ком безличны". Предыдущая работа, B. Feirstein, "Настоящие муж-
чины не употребляют фруктовый пирог", издание PocketBook, 1982,
отмечает,  что настоящие мужчины  ни на что не полагаются  и не
боятся быть обезличенными.

   Но времена меняются.  Сегодня  мы  живем в мире,  в  котором
маленькие   старые  дамы  могут  приобрести  компьютезированную
микроволновую  печь,  12-летние  пацаны  могут  выбить из колеи
настоящих мужчин при игре на ЭВМ в астероиды и в очко и, вообще,
любой человек может купить и понять свой собственный персональ-
ный компьютер. Настоящий программист в опасности, он может быть
заменен студентами высшей школы.

   Однако,  существует  разница между студентом-первокурсником,
освоившим на ЭВМ игру в очко и настоящим программистом.  Знание
этих  различий  может помочь детям  познать к чему стремиться -
модель поведения,  стереотоп отца.  Это также поможет сохранить
рабочие места для настоящих программистов.

   Самый простой способ определить, кто является настоящим про-
граммистом - по используемому языку программирования. Настоящие
программисты используют  Фортран.  Сосунки  используют Паскаль.
Никлауса Вирта, разработчика Паскаля, однажды спросили: "Как вы
произносите свою фамилию?".  "Вы  можете  обращаться ко  мне по
фамилии, произнося ее 'Вирт', или обращаться ко мне по значению,
'Ворт'", - ответил он. [Игра слов : Nicklaus Wirth произносится
так же, как английское слово Worth - стоящий, ценный]

   Исходя из этой ремарки, любой сразу поймет, что Никлаус Вирт
- сосунок.  Единственный механизм передачи параметров, принима-
емый  настоящим программистом - ото передача параметров по зна-
чению,  как это реализовано в компиляторах  Фортрана G и H  для
ЭВМ IBM/370.  Настоящим программистам  для выполнения работы не
нужны абстрактные концепции: для счастья им достаточно перфора-
тора,  компилятора Фортран-IV  и пива.  Настоящие  программисты
пишут программы работы со списками, обработки строк,  учета ре-
сурсов (если они вообще это делают) и искусственного  интелекта
на Фортране.

   Если вы не можете выполнить эти работы на Фортране, выполни-
те их на ассемблере. Если же их нельзя выполнить на ассемблере,
их не стоит делать вообще.

   В последние несколько лет  академиков от вычислительной тех-
ники  вовлекли  на  стезю  структурного  программирования.  Они
утверждают,  что  программы  становятся  более понятными,  если
используются  специальные  языковые методы и конструкции.  Они,
конечно,  не могут договориться  между собой,  какие точно кон-
струкции следует использовать,  а  примеры,  иллюстрирующие  их
точку зрения,  всегда помещаются на одной страничке неизвестных
журналов.  Когда я окончил школу,  я  считал  себя самым лучшим
программистом в мире. Я мог написать непобедимую программу игоы
в крестики-нолики  в  трехмерном пространстве на пяти различных
языках программирования, а также написать программу,  состоящую
из 1000 строк,  которая бы работала.  Затем я попал в  реальный
мир.  Моей первой задачей было прочитать и понять фортрановскую
программу емкостью 200000 строк,  а затем увеличить скорость ее
работы в 2 раза.  Любой настоящий программист скажет  вам,  что
все  структурированное  программирование  мира  не  поможет вам
решить  проблемы  вроде  этой  -  решение  этой  задачи требует
настоящего таланта.

   Несколько наблюдений о настоящих приграммистах и структурном
программировании:

   - настоящие программисты не боятся использовать GOTO;
   - настоящие программисты могут без смущения написать цикл DO
     на пяти страницах;
   - настоящие  программисты любят арифметические операторы IF,
     т.к. их использование делает программу более интересной;
   - настоящие программисты используют  самомодифицирующий код,
     особенно в тех случаях, когда это экономит 20 наносекунд в
     середине очень короткого цикла;
   - настоящие программисты не нуждаются в комментариях : текст
     программы все объясняет;
   - поскольку в Фортране отсутствуют структурные операторы IF,
     REPEAT ... UNTIL  или  CASE,  настоящим  программистам  не
     нужно беспокоиться,  что они их не используют;  кроме того
     эти  операторы  можно  при  необходимости  симулировать  с
     помощью присваиваемых GOTO.

   В  последнее  время  в  прессе муссируются структуры данных.
Абстрактные типы данных, структуры, указатели,  списки и строки
стали популярны в определенных кругах.  Вирт, сосунок,  написал
даже  целую книгу  ("Алгоритмы + Структуры данных = Программы",
Prentice Hall, 1976  [русский перевод -  изд. "Мир", 198?]),  в
которой утверждает, что можно написать программу на базе струк-
тур  данных,  не  используя  другие  способы. Как все настоящие
программисты  знают,  единственной  полезной  структурой данных
является массив.  Строки,  списки, структуры и наборы - это все
разновидности массивов и их можно рассматривать как массивы без
усложнения  вашего языка приграммирования.  Хуже  всего с этими
хитрыми  типами  данных  то,  что  вы  должны  их  описывать, а
настоящие  языки  программирования,  как мы все знаем, обладают
возможностью неявного задания типа, основанного на первой букве
6-символьного имени переменной.

   В какой операционной системе работает настоящий программист?
В CP/M ?  Боже сохрани !  Помимо всего прочего,  это в основном
игрушка, а не операционная система.  Даже маленькие старые дамы
и абитуриенты могут работать в CP/M и понять ее.

   UNIX, конечно, болеесложная система - типичный последователь
UNIX'а никогда не может запомнить,  как на  этой неделе называ-
ется команда PRINT - но когда он наконец доберется до нее, UNIX
становится восхитительной видеоигрой.  Люди не делают серьезных
работ  в  системе  UNIX,  они  рассылают шутки по всему миру по
USENET или пишут приключенческие романы и научные статьи.

   Нет,  настоящий программист  использует OS/370. Хороший про-
граммист  может  найти и понять описание только что полученного
сообщения об ошибке IJK305I в руководстве по JCL. По-настоящему
знаменитый  программист может найти ошибки в распечатке 6-мега-
байтной  области памяти,  не используя калькулятор шестнадцати-
ричной системы счисления.

   OS/370  по  настоящему  удивительная  система.  В  ней можно
уничтожить работы стоимостью несколько человеко-дней с  помощью
одного  неправильно  помещенного пробела, так-что штат програм-
мистов всегда должен быть на чеку.  Наилучший способ  общения с
системой - через перфоратор. Некоторые утверждают, что в OS/370
существует  система разделения времени,  но после внимательного
изучения я пришел к выводу, что они ошибаются.

   Какие  инструменты  использует настоящий программист в своей
работе ?  Теоретически,  настоящий программист  может запускать
свои  программы,  набирая  их  на передней панели ЭВМ. В добрые
старые  времена,  когда  ЭВМ  имели передние панели, этот метод
использовался время от времени.  Типичный настоящий программист
знал наизусть начальный загрузчик в шестнадцатиричной системе и
восстанавливал его с пульта, когда он разрушался его программой.
Более того, память была памятью - ее содержимое не попадало при
выключении  питания.  В  настоящее  время  память либо забывает
факты,  когда  вы этого не хотите, либо помнит о вещах, которые
давно  следовало  бы  забыть.  Ходит легенда, что Seymour Cray,
изобретатель супер-ЭВМ Cray-1 и большинства ЭВМ  фирмы  Control
Data,  ввел  с  пульта наизусть первую операционную систему ЭВМ
CDC 7600 при первом включении этой ЭВМ. Конечно, Cray - настоя-
щий программист.

   Одним  из  моих  любимых  настоящих программистов был Джим -
системный программист фирмы Texas Instruments.  Однажды, ему по
междугородному  телефону  позвонил  пользователь,  чья  система
разрушилась  в  процессе  очень  важной  работы.  Джим исправил
систему  по телефону, заставляя пользователя набирать на перед-
ней панели ЭВМ команды обращения к диску, исправлять  системные
таблицы в шестнадцатиричной системе и считывать ему по телефону
содержимое регистров. Мораль этой истории : хотя настоящий про-
граммист обычно включает в  набор своих инструментов перфоратор
и  АЦПУ,  он  может  в  экстренных  ситуациях обойтись передней
панелью ЭВМ и телефоном.

   В некоторых фирмах редактирование текстов программ больше не
представляет собой очередь из 10 инженеров,  ожидающих освобож-
дения  перфоратора  029.  Более  того,  здание где я работал не
содержит вообще ни одного перфоратора. Настоящий программист  в
таких  условиях  должен  выполнять  работу с помощью текстового
редактора.  Больштнство  систем  предлагают  на выбор несколько
текстовых  редакторов,  но  настоящий программист  должен  быть
очень  осторожен  в  выборе,  отражающего его индивидуальность.
Многие   думают,  что  наилучшие  текстовые  редакторы  в  мире
написаны в исследовательском центре фирмы Xerox в Palo Alto для
работы с ЭВМ марок Alto и Dorado.  К сожалению, ни один настоя-
щий программист не будет работать на ЭВМ  с операционной систе-
мой под названием Smalltalk (короткий разговор) и конечно же не
будет беседовать с ЭВМ с помощью "мышки".

   Некоторые  из  концепций  этих  редакторов  фирмы Xerox были
реализованы в редакторах,  работающих в операционных системах с
более солидными названиями, такими как EMACS и VI.  Дело в том,
что  настоящий программист  считает  плохим  следующий  принцип
редактора :  "То,  что  вы видите, то вы и получите". Настоящий
программист желает  редактор с принципом : "Вы это просили, вот
вам";  т.е.  редактор,  который  был  бы  сложным, шифрованным,
мощьным,  непрощающим  и  опасным.  Редактор  TECO - чтобы быть
точным.

   Было замечено,  что  последовательность команд  к TECO более
напоминает помехи в линии передачи, чем читаемый текст. Одна из
самых  развлекательных  игр  с  TECO  -  напечатать  в качестве
командной строки свою фамилию и попытаться догадаться, что  она
сделает.  Точно  так  же  любая случайная опечатка при работе с
TECO  может  разрушить  вашу  программу, или, хуже того, внести
неуловимые и мистические ошибки в уже работающую программу.

   Из-за  этого настоящие программисты неохотно редактируют уже
работающие программы. Они считают более простым непосредственно
латать  двоичный объектный код,  используя прекрасную программу
под  названием  SuperZap (или ее эквивалент на не-IBM машинах).
Этот метод настолько хорош, что многие программы, работающие на
ЭВМ  фирмы  IBM,  не  имеют  ничего общего со своим собственным
текстом на Фортране.  В большом количестве случаев первоначаль-
ный  символьный  текст  программы  вообще  не существует. Когда
наступает  время  подправить  такого  рода  программу,  никакой
администратор  даже  не думает послать на эту работу кого-либо,
кроме  настоящего  программиста  - никакой сосунок (структурный
программист) не будут знать даже с чего начать.  Это называется
защита от несанкционированного доступа.

   Некоторые  не  используемые настоящим программистом средства
программирования включают:

   - препроцессоры  Фортрана,  такие  как Mortran и Ratfor; эти
     кулинарные рецепты в  программировании  хороши для выпечки
     фруктового пирога;
   - отладчики  для  работы с текстом программы; настоящие про-
     граммисты  могут  свободно  читать  распечатку оперативной
     памяти;
   - компиляторы  с  проверкой  границ массива; эти компиляторы
     душат  творчество,  запрешая  наиболее интересные варианты
     оператора  EQUIVALENCE и препятствуют модификации операци-
     онной  системы  с помощью отрицательных индексов массивов.
     Кроме всего прочего, контроль границ массива не эффективен;
   - системы  сопровождения  и  архивизации  символьных текстов
     программ;   настоящий   программист   хранит  текст  своих
     программ  в закрытом на замок ящике (на перфокартах), т.к.
     владелец не может оставить свои программы без охраны.

   Где же  работает типичный настоящий программист ? Какие про-
граммы достойны таких талантливых индивидумов ?  Вы можете быть
уверены,  что настоящий программист не умрет за написанием про-
граммы  "Зарплата"  на  Коболе  или  сортируя  список  почтовых
отправлений журнала People. Настоящий программист желает задачи
с важностью землетрясения.

   Настоящие программисты  работают на национальную лабораторию
в Лос-Аламосе, создавая программы на супер ЭВМ Cray-1,  модели-
рующие атомную бомбу.  Они так же работают на Агенство по Наци-
ональной Безопасности, расшифровывая передачи русских.

   В большой степени из-за усилий тысяч настоящих программистов,
работающих  в  NASA,  наши ребята добрались до Луны и вернулись
обратно, опередив космонавтов. ЭВМ в космическом корабле "Шатл"
были  запрограммированы  настоящими программистами,  и  эти  же
истинные профессионалы работают на фирму Боинг, создавая опера-
ционные системы для крылатых ракет.

   Одна  из  приводящих  в благоговейный трепет работ настоящих
программистов  выполнена  в  Лаборатории  реактивного движения,
Калифорния. Многие знают всю  операционную систему  космических
кораблей  "Пионер"  и  "Вояджер"  наизусть.  С помощью симбиоза
больших  наземных  фортрановских  программ и маденьких бортовых
ассемблерных,  они  могут  совершать невероятные чудеса в нави-
гации и импровизации - такие, как попасть в окно шириной  10 км
в кольце Сатурна после 6-ти лет полета в космосе и починить или
обойти  неисправные  сенсорные платформы,  радиопередатчики или
аккумуляторы.  Утверждают, что один настоящий программист умуд-
рился  засунуть  прграмму распознавания образов в несколько сот
байт  неиспользованной  памяти  корабля "Вояджер", которая осу-
ществляла  поиск,  обнаружила  и  сфотографировала  новую  луну
Юпитера.

   Одна из планируемых задач для корабля "Галлилей" - использо-
вать  притяжение  Марса  на  траектории  полета к Юпитеру.  Эта
траектория проходит в 80 +/- 3 км  от поверхности Марса.  Никто
не собирается доверить паскалевской программе или  программисту
такую навигационную задачу.

   Многие  из  настоящих  программистов  всего мира работают на
правительство  США,  в  основном  в Министерстве Обороны. Так и
должно быть.  Однако,  недавно на небосклоне настоящих програм-
мистов  появилась  черная туча.  Кажется, что кто-то из высоко-
поставленных  сосунков  в  Министерстве Обороны  решил, что все
оборонные  программы  должны  быть  написаны  на некоем великом
унифицированном языке  ADA.  Некоторое время казалось,  что ADA
была  предназначена стать языком,  который шел вразрез со всеми
правилами настоящего программирования.  Это язык со структурой,
типами данных, строгим синтаксисом и точками с запятой. Короче,
он  был  разработан для сдерживания творчества типичного насто-
ящего  программиста.  К счастью,  язык одобряемый Министерством
Обороны,  обладает  достаточно  интересными свойствами, которые
делают его приемлимым -  он невероятно сложен,  включает в себя
способы  порчи операционной системы и перераспределения памяти,
и Эдгар Дейкстра (Edsgar Dijkstra) не любит его.  Дейкстре, как
вы  должны  знать,  автору  краеугольной  работы по методологии
программирования  "GOTO - считать вредными",  апплодируют  про-
граммисты на Паскале и подобные им сосунки. Да и потом, закоре-
нелый  настоящий  программист может написать фортрановскую про-
грамму на любом языке.

   Настоящий  программист  может  пойти  на компромис со своими
принципами  и  работать  над вещами немного более тривиальными,
чем  распад  жизни,  при условии, что  здесь достаточно платят.
Например,   существует   несколько   настоящих   программистов,
разрабатывающих  видео-игры  в  Atari.  Но  они  сами в игры не
играют. Настоящий программист знает, как выиграть у машины, и в
этом  нет  пряного удовольствия.  Каждый работающий в LucasFilm
является  настоящим  программистом,   потому,  что  нужно  быть
сумасшедшим, чтобы отвергнуть деньги 50-ти милионов поклонников
Звездных войн (Star Wars).

   Доля  настоящих  программистов,  занятых  машинной графикой,
несколько ниже нормы в основном потому, что никто пока не нашел
ей применения. С другой строны, вся машинная графика  выполнена
на Фортране,  так  что  существует  определенное  число  людей,
занимающихся графикой для того, чтобы избежать программирования
на Коболе.

   В  общем  случае  настоящий программист развлекается так же,
как  и  работает - с помощью ЭВМ.  Он  не перестает  удивляться
тому,  что его работодатель платит ему за то,  что он все равно
бы делал для развлечения,  хотя он достаточно осторожен,  чтобы
высказать  это  мнение  вслух.   Иногда  настоящий  программист
выходит из конторы, чтобы глотнуть свежего воздуха или кружечку
-другую пива. Существует несколько признаков,  по которым можно
узнать настоящего программиста за пределами машинного зала :

   - на  вечеринке  настоящие программисты  это те, кто сидит в
     углу, обсуждая защиту операционных систем и как ее обойти;
   - на  футбольном матче  настоящий программист сравнивает ход
     игры с "проигровками", распечатанными на фальцованной  11-
     или 14-дюймовой бумаге;
   - на пляже настоящий программист рисует блок-схемы на песке;
   - настоящий программист ходит в диско-клуб, чтобы посмотреть
     мигание лампочек;
   - на  похоранах  настоящий  программист  изрекает :  "Бедный
     Джордж.  А  ведь  он  почти  заставил  работать  программу
     сортировки, когда его хватил инсульт";
   - в  бакалейном магазине  настоящий  программист  настаивает
     на  собственноручной  проверке банок на лазерном аппарате,
     т.к.  он не верит,  что операторы могут правильно отперфо-
     рировать данные с первого раза.

   В  каких условиях лучше всего работается настоящему програм-
мисту ?  Это  очень  важный  вопрос  для  начальников настоящих
программистов.  Учитывая  высокую стоимость  содержания  одного
такого в штате, лучше создать ему или ей оптимальные условия.

   Типичный  настоящий программист  живет  перед  дисплеем ЭВМ.
Вокруг   этого  дисплея   расположены  листинги  программ,  над
которыми   он  когда-либо  работал.  Они  складированы  в  кучи
приблизительно  в  хронологическом  порядке  на  каждой плоской
поверхности конторы.  Вы так же обнаружите полдюжины, или около
того,  наполовину выпитых чашек с холодным кофе.  Иногда в кофе
можно  обнаружить  плавающие  " Бычки "   сигарет.  В некоторых
случаях  в  чашках  находится  выжатый апельсин. И только в тех
случаях,   когда  программист  не  очень  хорош,   вы   увидите
экземпляры  руководства  OS JCL и принципов работы, открытых на
особо  интересных  страницах.  Приклеенный  клейкой  лентой, на
стене  висит  распечатанный на АЦПУ календарь с собачкой Снуппи
за  1969  год.  На  полу  разбросаны обертки от хлеба с сыром и
земляными  орехами  (такого,  который становится черствым уже в
пекарне,  так что не может стать хуже в торглвых автоматах). И,
наконец,  в  верхнем  левом  ящике стола, под коробочкой Oreos,
находится  линейка-шаблон для вычерчивания блок-схем, оставлен-
ная  предыдущим  владельцем стола. Настоящие программисты пишут
программы,  а  не  документацию,  которую  они  оставляют штату
сопровождения.

   Настоящий программист  может  работать  по  30, 40 и даже 50
часов непрерывно, под интенсивным нажимом.  На самом деле, он и
предпочитает  так  работать.  Плохое время отклика не беспокоит
настоящего программиста;  он  получает  возможность  вздремнуть
между  трансляциями.  Если  график  выполнения  работы не очень
жесткий,  то  настоящий программист  предпочитает  делать  свою
жизнь   более  захватывающей,   работая  первые  9  недель  над
маленькой, но интересной частью проблемы. Затем, он заканчивает
выполнение всей остальной части за 2 или 3 50-часовых марафона.
Это  не  только  впечатляет  начальника,  но  и создает удобное
оправдание  не  делать  документацию.  В  общем случае, ни один
настоящий программист не работает с 9 до 5, за исключением тех,
кто  работает  в  ночную смену.  Настоящие прграммисты не носят
галстуков.  Настоящие программисты приходят на работу вовремя -
к обеду. Настоящий программист может знать,  а может и не знать
имя  своей  супруги.  Он,  однако, знает наизусть таблицу ASCII
(или EBCDIC) символов. Настоящие программисты не умеют готовить.
Бакалейные магазины не часто открыты в 3 часа ночи, так что они
должны уметь выживать на печенье и кофе.

   Заглядывая  в  будущее,   некоторые  настоящие  программисты
считают, что новейшее поколение программистов имеет не такие же
взгляды  на  жизнь,  как  их  старшие  товарищи.  Многие из них
никогда  не  видели  передней  панели  ЭВМ. Едва-ли кто-либо из
выпускников  в  наши  дни   может   производить   вычисления  в
шестнадцатиричной   системе   без   калькулятора.   Сегодняшние
выпускники колледжей слабы -  они защищены от реальностей жизни
символьными отладчиками, редакторами текстов, которые подсчиты-
вают скобки, и лояльными к пользователю операционными системами.
Хуже  того,  некоторые  из этих патентованных ученых умудрились
"защититься"  без  изучения  Фортрана !  Неужели нам предписано
свыше  стать отраслью  фанатиков UNIX'а и паскалевских програм-
мистов ?

   Из  собственного  опыта,  я  думаю, можно смело сказать, что
будущее  прекрасно  для  настоящих программистов. Ни OS/370, ни
Фортран  не  высказывают ни каких признаков отмирания, несмотря
на  усилия  программистов  на  Паскале.  Даже  такие изощренные
уловки,  как  добавление  конструкций структурного программиро-
вания в Фортран, провалились.  Да, конечно, некоторые изготови-
тели  ЭВМ  выпустили  компиляторы Фортрана-77, но каждый из них
оставил  возможность  перейти в режим компилятора Фортрана-66 с
помощью удаления  одной перфокарты - чтобы  компилировать циклы
DO как предписано Богом.

   Даже  UNIX  может быть не так уж плох для настоящих програм-
мистов,  как  в  прошлом.  Последняя реализация UNIX'а обладает
потенциальными  возможностями,  ценными  для  любого настоящего
программиста.  Она  имеет  два различных и слегка несовместимых
пользовательских интерфейса, аркан и сложный драйвер терминала,
и виртуальную память.  Если пренебречь тем, что он структурный,
то даже программирование на языке "C" может быть по достоинству
оценено  настоящим  программистом.  В  конце  концов, в нем нет
проверки типов, имена переменных имеют 7 (10 ?, 8 ?) символов в
длину  и  введен  полезный  тип  данных  "указатель" (pointer).
Получается,  как  будто  соединены  воедино  лучшие части языка
Фортран и Ассемблера, не говоря уже о более творческих примене-
ниях оператора #DEFINE.

   Нет,  будущее  не так уж и мрачно. В последние несколько лет
даже  популярная  пресса  сообщала  о  новом  урожае  блестящих
фанатиков, выпущенных из таких мест, как Стенфорд и Массачусет-
ский Технологический Институт, в реальный мир.  По всему видно,
что дух настоящего программирования живет в этих молодых юношах
и девушках. Пока существуют плохо поставленные задачи, странные
ошибки  и нереалистичиские расписания машинного времени,  будут
находится  настоящие программисты,  желающие  взять  на себя  и
решить проблему, оставив документацию на потом.

  Да здравствует Фортран !

                             Перевод : Пяткин А.С. -- Ленинград

anonymous
()
Ответ на: Diomidis Spinellis. Code Reading: The Open Source Perspective. от Sun-ch

> Если же их нельзя выполнить на ассемблере, их не стоит делать вообще

Эх, жаль нет рядом другого такого мудака - Луговского.
Было б здорово вас стравить вместе.

anonymous
()

За Питон пасть порву!!!

Это супер язык для разных приложений. Почему-то у Перла поклонников навалом, потому что уметь писать перлы на Перле считается круто - сам автор на следующий день не может понять, что он написал - где уж другим. А Питон и побыстрее Перла будет (см Shootout) и _гораздо_ читабельнее (он практически один из самых читабельный язык) и элегантнее.

И вообще, тут на ЛОРе маловато флеймов про языки :)

anonymous
()

Поподробнее плз про убогость питона. С конкретными примерами.

anonymous
()

Блин, не важно на чем писать - важно КАК писать. Шедевр можно сотворить и на бейсике - и писать полнейший отстой на ......... (нужное вставить в силу познаний в языках 8).

anonymous
()

What is Python bad for? Python is not the perfect language for every programming task. For example, it is not suited to system-level programs, like device drivers and kernels, because it is too high level to give tight control over memory allocation and other low-level tasks. Also, because it is relatively slower than C and other compiled languages, Python is not well suited to computationally intensive applications, though it can be used as a framework or glue language around such applications.

Короче, для любой СЕРЬЕЗНОЙ вещи Питон не катит. А побаловатья - да, неплохо.

anonymous
()

А вот и страничка документации на русском:
http://www.python.ru/

Насчет того, важно или не важно на чем писать.
Практика (моя 12-ти летняя) говорит о том, что важно.
Когда в студенчестве прыгал с Паскаля на C и обратно, сам поражался,
как всего за несколько дней меняются приемы написания кода -
а ведь это очень близкие языки. Например в том же Питоне, раз здесь сейчас речь про него, очень удобно работать со сложными структурами
данных, функциями и классами - все интуитивно, а если что-то
надо найти - смотришь прекрасно структурированный Python Library
reference и сразу все находишь. В Перле, раз он уже тут упоминался, если не программируешь на нем постоянно, враз забывается - как сделать хеш массивов, как передать массив в функцию или возвратить
его из нее, как передать файл - и фиг это сразу найдешь.
Язык был спроектирован для написания однострочных скриптов, и этим все сказано. А как почитаешь аппокалипсисы про Perl 6,
появляется стойкое ощущение, что они никогда не создадут этого
монстра. Кстати, то как развивается Python,
то как там ведется документация - это просто песня!
И про некоторые другие языки vs. python:
С - классный язык, простой (в смысле, просто устроенный),
классно спрягается с Python, так что это не vs.,
а просто друг Питона (сам Питон написан на высококачественном C)
С++ - монстр, но если держать себя в руках, может быть неплох.
тоже спрягается с Питоном, хотя многие из сегодняшних программ
на C++ проще было бы сделать на Python+C либо же просто на
Python. Кстати эта точка зрения принадлежит Николаю Безрукову
(www.softpanorama.org), только там нужно заменить TCL на
Python :)
Java - хороший язык, но владеемый Саном - для простых программером
это ничегор страшного, но стратегически это тупик - если только
Sun его не стандартизует. Побыстрее Питона
(если не применять Psyco и Pyrex :)), но не такой гибкий и
выразительный - короче, вы видели скрипт на Jave? :)
C# - страшный клон Java, который подтверждает 1) качество дизайна
оригинального языка 2) всегдашнее отсутствие свежих идей у M$.
Единственное, чем он лучше Java, это наличием стандарта
(правда это не ISO, и не ANSI, а какой-то EMCA)
Perl - уже говорилось.

Это я к чему: GvR - великий человек, спасибо ему за наше счастливое
настоящее и будущее, желаю ему удачи на новом месте.

anonymous
()

> А реализация классов в пистоне по кривости может сравниться разве что с перлом

А тебе нужны именно классы или ООП? Если ООП, то скажи, в чем именно провинился perl?

anonymous
()
Ответ на: комментарий от anonymous

2anonymous (2003-07-10 20:59:02.524765):

Не утверждается, что Python может заменить C, но то что он
является очень хорошим дополнением - факт.

Системные вещи на нем пишутся, как то:
1. система ведения пакетов в Gentoo,
2. инсталятор Redhat (начиная с 6.x, кажется).

Большие программы на нем пишутся, очевидный пример - Zope.

Для научных вычислений используется - есть пакет Numeric,
Python используют в NASA (http://pythonology.org/spotting),
Dave Beazley, автор книжки по Python, пакета SWIG (для спряжения
C/C++ с Python/Perl/TCL ...) и вообще интересный мужик, работал в Лос-Аламосской лаборатории.


> Короче, для любой СЕРЬЕЗНОЙ вещи Питон не катит. А побаловатья - да, неплохо

просто 2 ссылки:
http://www.python.org/psa/Users.html
http://pythonology.org/success


anonymous
()
Ответ на: комментарий от anonymous

Python и win32

>>питон -- это как лялих, его фанаты-красноглазики ко всему можно >>подряд прикручивают, а зачем -- сами не понимают. вот перенесли его >>кое-как под винды -- но средства взаимодействия с win api настолько >>убоги, что лучше бы и не переносить. Одна польза -- микрософт может >>заявить что whs поддерживает не только мс-языки.
А вы пробовали?
Я год назад пробовал-теперь за уши не оттащишь.
Пример: Парсер-загрузчик отчетов в БД написал за 3 часа и офигел,
когда еще через час удалось загрузть скриптом в Екселл всякую бадягу
в немерян количестве.На чем еще это можно сделать за такой срок?
Так что прежде чем ругать, пробовать надо,
--хорошему танцору всегда тапочки жмут.


obp
()

полностью поддерживаю анонимуса (2003-07-10 20:59:02.524765) !!!

питон -- для школьников годится (если бы только преподаватели могли с бейсика переучиться), на худой конец для студентов -- _не программистов_, то есть которым реальные программы писать по специальности не положено, иначе -- FORTRAN, а до серьезных проектов питон не дорос!

покажите мне хоть один крупный коммерческий проект на питоне? ZOPУ не предлагать

anonymous
()

хотя пожалуй есть дельное применение и питону! проверка и автоматическое подтверждение новостей на ЛОР.

как видим, сделать парсер естественного языка и прикрутить проверку орфографии к пистонному скрипту нереально :)

anonymous
()

>скрипт на Jave? :)
BeanShell (http://www.beanshell.org/)

от себя: интерпретатор над интерпретатором - ту мач, хотя ведь и xsl работает ведь :-), потом для интерактивной работы (или небольших скриптов) - потянет

Кстати - вопрос насчёт Сатан. когда-то пробовал но сейчас - уже не получается скомпилить 1.1.1 (потрарил правда минут 10 ).
("perl reconfig" виснет а "make linux" даёт ошибку - видимо из-за незавершения первого таргета)

Anode

anonymous
()
Ответ на: комментарий от anonymous

OOP и Python

>>А реализация классов в пистоне по кривости может сравниться
>> разве что с перлом...

Настоящее OOP есть только в small talk и effel,
а если вы на них не пишите, а предпочитаете Dephi(та еще мерзость)
или C++(еще одно уродливое творение), то я категорически не согласен.

А самое главное, чего никогда не поймут программеры не писавшие на
python:
встроенные структуры данных должны быть частью синтаксиса языка,
а не внешними библиотеками.
Иначе все равно получается java, на котрой и кодировать дорого,
сопровождать еще дороже, а на бета тестировании просто разориться
можно.







obp
()

> встроенные структуры данных должны быть частью синтаксиса языка, а не внешними библиотеками.

ага, вот сделают в питоне встроенные графы, и программы можно будет делать столь же нечитаемыми как на перле ;)

во всем нужно знать меру

anonymous
()

2anonymous (*) (2003-07-10 21:24:43.194471)
> а до серьезных проектов питон не дорос!

Это ты до них не дорос :)

У меня, например, вот уже два года в Сингапуре работает один демон,
писанный на python + DB + .... (solaris)- reconciliation между двумя
системами от Reuters. Недавно и в New-York-е инстальнули.

Не хочу сказать, что это супер-пупер серьёзный проект :)
(кстати, а где критерии "серьёзности" ??)
Быстро написалось, работает без проблем

anonymous
()
Ответ на: комментарий от anonymous

2anonymous (*) (2003-07-10 21:47:53.520397)

> ага, вот сделают в питоне встроенные графы, и программы можно будет делать столь же нечитаемыми как на перле ;)

Сходу сделаю тебе этот граф как хеш ребер. например полный граф из 4 вершин: graph = {} graph[(1,2)] = graph[(2,3)] = graph[(3,4)] = graph[(1,4)] = \ graph[(2,4)] = graph[(1,3)] = 1

Чтобы сделать класс неориентированного графа с удалением инцидентных ребер при удалении вершин, нужно написать еще строк 30.

Мораль - сила Питон не в том, что в нем есть несколько симпатичных структур данных и операторов - сила в том, что их можно очевидным (или неочевидным) способом комбинировать. В Питон реализовано несколько перпендикулярных концепций, на не просто куча "синтасического сахара"

anonymous
()

Предлагаю не обращать внимания на злобных анонимусов!

Мы ведь знаем что питон отличный язык. Давайте вместо того чтобы его нахваливать паред анонимусами обсудим что реально в питоне плохо, и нужно бы в следующмх версмях поправить. Это тем более акутуально, так как по-видимому ГВР будет интенсивно работать над языком.

anonymous
()

OFFTOPIC!

2obp
Ты с екселем связывался через COM? 
Применял ли форматирование ячеек?

import win32com.client
from pythoncom import CoInitialize,CoUninitialize
from pywintypes import *
CoInitialize()
e=win32com.client.Dispatch("Excel.Application")
e.Workbooks.Add()
print e.Workbooks
print e.Workbooks(1)
print e.Workbooks(1).Worksheets
print e.Workbooks(1).Worksheets(1)
print e.Workbooks(1).Worksheets(1).Cells(1,1)
print e.Workbooks(1).Worksheets(1).Cells(1,1).Value
print e.Workbooks(1).Worksheets(1).Cells(1,1).Value2
print e.Workbooks(1).Worksheets(1).Cells(1,1).NumberFormat.encode('cp866')
print e.Workbooks(1).Worksheets(1).Cells(1,1).NumberFormatLocal.encode('cp866')
#На следующей строке вылетает ексепшн COM: с сообщением Property can not be set, хотя в референсах сказано что проперти read\write
e.Workbooks(1).Worksheets(1).Cells(1,1).NumberFormat='##0.##'
e.Workbooks(1).Worksheets(1).Cells(1,1).Value=123456.7878
print e.Workbooks(1).Worksheets(1).Cells(1,1).Value
e.Workbooks(1).SaveAs('c:\\q.xls')
e.Workbooks(1).Close(SaveChanges='0')
e.Quit()
del e
CoUninitialize()

moron
()

2 (2003-07-10 22:03:10.449689): я не про это! было несколько предложений как описывать графы в питоне, и несколько вариантов синтаксиса -- должен признаться, что все они на грани "синтаксических вкусностей" и читаемости. Хотя лучше чем конструкции [[ ]] в haskell и ;; в ocaml.

anonymous
()

2 moron (*) (2003-07-10 22:07:16.070102): Если эксель русский, поставить в формате числа вместо точки запятую -- в соответствии с локалью -- помогает. проверь

tws
()

ruby - отличный язык
а пр настоящих програмистов дебил писал :-)

chuchelo
()

anonymous (*) (2003-07-10 22:06:02.398753)

По поводу улучшения языка:

IMHO, в самом Питоне практически все хорошо, а в 2.3 должно стать еще лучше. Над чем можно работать: ускорение за счет оптимизации VM и type inference (в том числе и включение psyco). Type inference (вместе с чем-нибудь типа pychecker на стадии компиляции Питон в байт-код) была бы полезна чтобы отсекать часть ошибок прямо на этой стадии. Расширение языка - нафик нафик (это я и в качестве ответа предложение влючить графы), только если это не упрощение.

Остальные пожелания в области библиотек: 1. PyGTK как стандартный GUI вместо Tkinter, 2. Численную библиотеку (туда можно и графы зафигачить) как часть стандартной.

Вот мои 2 копейки.

anonymous
()
Ответ на: комментарий от anonymous

>>как видим, сделать парсер естественного языка и прикрутить
>>проверку орфографии к пистонному скрипту нереально :)
Все что написано на С и большая часть написанного на C++ прикручивается к python.


obp
()

2tws
Дьявольщина! Спасибо огромное. Слона то я и не приметил.

moron
()

нет, GTK нельзя, потому что на win32 на сегодня GTK работает отвратительно в сравнении с Tk (я смотрел последний релиз DIA на GTK/win32, возможно я не прав), следовательно это приведет к разделению gui-программ на gtk/linux и pythonwin/win32; сейчас тоже пишут кто на чем, но эта ситуация как минимум не стандартизована. Лучше gui будет более переносим чем язык, нежели наоборот.

tws
()

> Все что написано на С и большая часть написанного на C++ прикручивается к python.

это обыгрывалась местная шутка о том "на чем написан скрипт подтверждающий новости?"

anonymous
()
Ответ на: комментарий от tws

> Лучше gui будет более переносим чем язык, нежели наоборот.

Переносимый gui? Такое бывает? IMHO это язык должен быть переносимым, а gui - нативным.

anonymous
()

2tws

хотя это был и мой пост про PyGTK, не могу не согласится что Tk под виндами стабильнее и лучше эмулирует виндовый "look-n-feel". Но за GTK будущее! Так что может хоть в Python3 его поместят ...

anonymous
()

Тут какие-то зоофилы да зоофобы собрались. Пойду я лучше от греха подалее...

phicus
()

Чего не хватает в Python

pyGTK-это совсем неплохо
Сильно не хватает средств разработки экранных форм,
особенно DBGrid
Хочется средств построения бизнес графиков с поддержкой
SVG.
К сожалению все что делается в этом направлении делается на базе
gnome, и потому непортируемо.
Какая-нибудь интеграция с open office также желательна.
Это мои 2 копейки.

obp
()

2obp

Что-то про grids и красивые графики я видел в GtkExtra (http://gtkextra.sourceforge.net/) и соответствующей обертке для Питона, но там для GTK 1.x. Эх, портанул бы кто под GTK 2.x

anonymous
()

>встроенные структуры данных должны быть частью синтаксиса
> языка, а не внешними библиотеками.

почему? Тогда либо структуры будут негибкими и язык нерасширяем либо спецификацию языка надо менять каждый год.
С - идельный пример компактного языка где всё (см ниже) - в библиотеках (и поэтому - весь спек. умещается в тоненького кернигана/риччи) и не меняется.
спек. паскаля напротив - толстенная книжища потому как структуры - часть языка (и язык устаревает уже в момент публикации книги).

жаву как язык нельзя сравнивать с С потому как он не столько язык сколько платформа (виртуальная ось). Оригинальный спек. жавы я очень люблю потому что там есть и базовые структуры (динамич. массивы, хэш, стэк - необходимый мин.) и была тогда жава всего несколько мег (6М - даже для 1.1) а спек - чуть потолще K&R. Зато потом стали толкать в жабу всё и на все случаи: от xml парсеров до сервер-компонент и графических расширений (с другой стороны - разница в общем между библиотекой и частью языка весьма расплывчатая) . Результат - вместо компактного classes.zip + только необходимых мне библиотек (или вообще - только java.lang.*) я должен таскать десятки мегабайт да плюс - все несовместимости между 1.1 1.2 1.3 1.4 (ладно, согласен с 1.1 - похерим 1.0 :-).

Я это к тому что язык сам по себе - должен быть компактен и быть инвариантом а интерфейс с системой (ввиду того что систем много и они развиваются) быть плагином то-есть уходить в библиотеки.

Всё выше - имхо

Anode
()
Ответ на: комментарий от anonymous

>>хотя это был и мой пост про PyGTK, не могу не согласится что Tk под >>виндами стабильнее и лучше эмулирует виндовый "look-n-feel". Но за >>GTK будущее! Так что может хоть в Python3 его поместят ...
К GTK2.2 я прикрутил DLL(кажется эта штука wimp называется), котрая изображает тему, а на самом деле использует нативный API Win32 для отрисовки виджетов,
так что результат от винового отличим только по иконкам в меню и на кнопках(кстати мне они как раз нравятся)
Но вот сами библиотеки еще слегка глючат, сильно похоже на ранние
релизы wxPython(даже глюки те же самые).


obp
()

> Переносимый gui? Такое бывает?

я имел в виду Tk. По-моему это как раз и есть переносимый gui (если считать gui = набор виджетов)

> за GTK будущее!

это может быть верно, но надо подождать; пока и на GTK2/Linux жалуются в части производительности. С другой стороны MVC -- Good Thing и ее иметь в стандартной библиотеке не помешает

tws
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.