Драматическая история Python и Zope - Олег Бройтман
Шрифт:
Интервал:
Закладка:
Сейчас почти не осталось каких-то закрытых частей. Все исходные тексты раздаются, а деньги они делают за счет создания сайтов или консультаций по своим продуктам. Сами же они говорят, что с тех пор, как они открыли Zope, их бизнес увеличился в 3 раза!
При переходе от версии 1.9 к 2.0 кроме лицензии мало что изменилось. Но в течении 2000 года пользователи и разработчики довольно быстро подхватил исходники Zope, стали их развивать, и версия за версией вышли 2.1 и 2.2. Произошли довольно значительные изменения, появился и новый язык шаблонов: если старый язык шаблонов у них больше похож на Apache SSI (типа <!--#var foo-->), то новый больше похож на XML (<dtml-var bar>) - он проще. В 2.3 сделан совсем большой шаг, появился виртуальный хостинг. Если раньше для виртуального хостинга надо было мучиться с Apache, ставить сложные модули - модуль mod_pcgi2 или FastCgi, то сейчас виртуальный хостинг можно сделать на чистом Zope.
С переходом Гвидо в Digital Creations возникает интересная тонкость - дело в том, что Zope добавил в Python интересный механизм. В Python существует дихотомия между типами данных и классами. От классов можно наследовать обычным способом, от типов наследовать нельзя, и это иногда раздражает. Допустим, нужен какой-то особенный класс-список, но от типа "список" наследоваться нельзя, поэтому приходится применять не очень удобный механизм делегирования.
А в Digital Creations тот самый Джим Фултон написал механизм ExtensionClass, который залезает глубоко в интерпретатор Python и позволяет от типов наследоваться. Не совсем обычным образом, правда, то есть это все еще не совсем наследование. Но это наполовину решение проблемы. С переходом Гвидо в Digital Creations этот механизм, наверное, будет доведен до ума, и дихотомия между типами и классами исчезнет совсем, и все объекты станут нормальными классами.