На главную страницу
Форум txt.version   



Статья :: Драматическая история Python и Zope : Олег Бройтман

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.

История языка Python

Все началось в 1990 году, когда сотрудник голландского института CWI, тогда еще мало кому известный Гвидо ван Россум участвовал в проекте создания языка ABC. Язык был предназначен для замены языка BASIC, для обучения студентов основным концепциям программирования.

Как-то Гвидо надоело заниматься этим на работе, он пошел домой и в течение пары воскресений на своем домашнем Макинтоше написал интерпретатор другого простого языка; он, конечно, позаимствовал некоторое количество идей из ABC. Гвидо стал его распространять через Интернет.

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

Язык стал быстро развиваться, поскольку появилось большое количество заинтересованных и понимающих в развитии языков программирования людей. Сначала это был совсем простой язык, просто небольшой интерпретатор, некоторое количество функций, не было объектно-ориентированного программирования, но все это быстро появилось. Уже в 1991 году появились первые средства объектно-ориентированного программирования.

Через некоторое время Гвидо переехал из Голландии в Америку. Его пригласили работать в корпорации CNRI. Он там работал, используя Python для тех проектов, которыми занималась корпорация, а в свободное рабочее время развивал язык и интерпретатор.

Так это продолжалось до появления в 1999 году версии 1.5.2, когда у Гвидо в жизни начались пертурбации. Корпорация, в которой он работал, оставляла ему все меньше и меньше времени на развитие Питона, и это его перестало устраивать. Он оказался довольно упертым фанатом собственного языка :) К тому времени в Интернете сложилось немалое сообщество пользователей. Гвидо решил пожертвовать частью зарплаты и стал искать спонсора, который позволил бы ему работать именно над развитием языка и интерпретатора. И образовавшаяся как раз в то время фирма BeOpen решила его поддержать. Он ушел, но перед уходом обязался выпустить версию 1.6. Это была контрактная версия, которую он должен был выпустить в корпорации CNRI. В BeOpen он выпустил версию 2.0.

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

Кроме этой активности произошло много чего нового: появился Юникод; это большой шаг вперед. К Юникоду, соответственно, появился новый механизм регулярных выражений, который работает как для обычных строк, так и для Юникодовых.

Через некоторое время и в BeOpen начались проблемы. Они тоже решили, что Гвидо хорошо бы зарабатывать деньги, а не заниматься всякой фигней :) а Гвидо это не понравилось, он опять уволился и стал искать, куда бы ему податься. Это был большой шаг для него лично, потому что при переходе из корпорации CNRI в BeOpen он одновременно женился, поэтому в следующий раз уволиться ему было тяжелее.

Тем не менее, он это сделал. А вместе с ним два раза увольнялись и переходили на новую работу еще 5 человек - команда разработчиков Питона, такие же упертые и влюбленные в язык - Tim Peters, Jeremy Hilton, Barry Warsaw, Fred Drake. Уволились и опять стал искать место, где бы они мог развивать язык, не обращая внимания, или как можно меньше обращая внимания на коммерческие проблемы. И тут Digital Creations - авторы Zope, решили его принять к себе. И, как в это время выяснилось, они его приглашали уже в пятый или шестой раз, и Гвидо сказал, что, наверное, пора дать им шанс. И все решили, что пора, потому что авторам Zope самим Python очень нужен, и чтобы его не терзать они дадут Гвидо возможность работать. Возможность у него есть, потому что уже вышел Питон 2.1, тоже очень большой шаг по сравнению с Питоном 2.0.

В нем появились объекты из языков программирования под названием closures. Правильнее было бы сказать - статически вложенные функции, что следует наверное объяснить в терминах языка Pascal, потому что в языке C такого нет, есть только функции верхнего уровня; в Perl тоже такого нет, хотя вложенные функции есть. В Питоне появилась иерархия: можно функции вкладывать друг в друга, и они будут иметь доступ к переменным окружающих функций, и это большой шаг вперед. Он сильно меняет язык, меняет многие подходы и способы программирования. В версии 2.1 это опционально, но в версии 2.2 это уже будет стандартным свойством языка.

Вобщем, движется все вперед довольно интенсивно в последнее время, так что упертость Гвидо сделала свое дело :) несмотря на два увольнения. В этом он молодец.

Jpython

JPython - довольно позднее изобретение. Первая версия появилась уже после выхода Python 1.5.2. JPython - это пакет, состоящий из двух частей. Часть первая - интерпретатор Питона, написанный на Яве. А вторая - компилятор Питона в явский байт-код. То есть если мне понадобится писать Java-апплеты, я их тоже буду писать на Питоне. :)

Mailman

Mailman - еще одна из известных программ, написанных на Питоне. Mailman - это программа управления списками рассылки (mailing list manager). Кроме почты, Mailman имеет web интерфейс для управления подпиской, индивидуальными настройками подписчика, административными программами. Mailman оказался так хорош, что стал официальным менеджером списков рассылки проекта GNU.




Драматическая история Python и Zope : Олег Бройтман

страницы в данном разделе 
Драматическая история Python и Zope : Олег Бройтман Zope : Олег Бройтман

Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)


Microsoft Office Журнал Компьютерра № 32 от 5 сентября 2006 года Журнал Компьютерра № 34 от 18 сентября 2006 года