Драматическая история Python и Zope
История языка 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 это уже будет стандартным свойством языка.
Вобщем, движется все вперед довольно интенсивно в последнее время, так что упертость Гвидо сделала свое дело :) несмотря на два увольнения. В этом он молодец.