Отличное событие! Сегодня выпущены сразу две версии Python:
- Python 2.6a1 - первая альфа версия Python 2.6 и кроме того, что содержит кучу изменений и новую систему документации использующую reStructured Text, также является переходной версией к Python 3.0. Новый ключ командной строки -3 позволяет включить предупреждения о функциональности которая будет удалена в Python 3.0. Также добавлены обратно-совместимые возможности Python 3.0, например, Abstract Base Classes.
- Python 3.0a3 - третья альфа версия Python 3.0 и очередной шаг к избавлению от старого балласта ценой обратной-несовместимости.
Еще планируется, что альфа-версии будут создаваться каждый месяц и если это будет хорошо работать, то также будут создаваться и бета-версии.
Мой сокурсник, с которым мы не виделись примерно 15 лет, предложил, по моему, отличную идею для слогана на футболку: "Вот что Python делает с людьми!". :-)))
Последнее время много сталкиваюсь с людьми которые создают свои XML/XSLT движки на... PHP. Я понимаю если бы Java, Java + XML - близнецы-братья, но для PHP это вообще несколько странно. Тем более, что никто толком не может объяснить почему он делает именно так. И в подавляющем большинстве случаев на этих движках делают простые сайты с одним HTML представлением.
Возможно кто-то уже заметил, что на сайте появился новый раздел - Проекты. Кстати, именно для освобождения места под закладку Проекты нужен было перенос разделов. :-) В этом разделе я собираюсь размещать свои проекты с открытым исходным кодом по мере их оформления.
Пока здесь только один проект - плагин для Mozilla Firefox, позволяющий выделять URL из текста и других URL. Пробуйте, пишите отзывы.
Вчера вышел второй альфа релиз новой версии Python - Python 3.0a2. Изменились в основном внутренности, из видимых разработчикам изменений можно отметить появление нового типа bytearray. Теперь объекты bytes сделаны неизменяемыми и для изменяемых байтовых массивов надо использовать bytearray:
$ ./python
Python 3.0a2 (py3k:59429, Dec 8 2007, 22:01:38)
>>> b = bytes("abc", "ascii")
>>> b
b'abc'
>>> b[0] = 100
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'bytes' object does not support item assignment
>>> ba = bytearray("abc", "ascii")
>>> ba
bytearray(b'abc')
>>> ba[0] = 100
>>> ba
bytearray(b'dbc')
Скачать новую версию можно здесь: http://www.python.org/download/releases/3.0/, документация: http://docs.python.org/dev/3.0/.
Теперь в Python можно будет запускать директории и zip-файлы
Dmitry Vasiliev 12:32 PM, November 29, 2007Сегодня просматривал последние изменения в Python и наткнулся на патч #1739468. Патч позволяет напрямую выполнять директории и zip-файлы, содержащие файл __main__.py, указывая их имя в строке запуска:
$ python -V Python 2.6a0 $ mkdir hello $ echo 'print "Hello, World!"' > hello/__main__.py $ python hello Hello, World! $ zip -j hello-package.zip hello/__main__.py adding: __main__.py (stored 0%) $ python hello-package.zip Hello, World!
Надо сказать, что похожую идею я предлагал еще в декабре 2003-го, :-) но руки тогда не дошли до реализации. В любом случае, хорошо, что теперь можно будет напрямую выполнять zip-файлы даже без участия Setuptools.
Перенес разделы про Python, Контроль версий и Zope в подраздел Разработка ПО. Перемещения:
- Python (/python) теперь Python (/development/python)
- Контроль версий (/versions) теперь Контроль версий (/development/versions)
- Zope (/zope) теперь Zope (/development/zope)
Долго собирался написать этот текст и в итоге вот. Если поискать в Интернете, то можно найти некоторое количество статей о процессе найма людей в Google, но недавно мне посчастливилось на собственном опыте убедиться как Google ищет и отбирает сотрудников. Сразу оговорюсь, что речь пойдет не о Российских представительствах Google, с которыми мне вообще не очень понятно, чем они занимаются. :-)
Сегодня слышал следующий, странный для меня, разговор:
Программист: В файле исходного кода примерно 1000 строчек, но 400 из них закомментированы потому что от этой функциональности мы отказались, но удалить их я не могу - вдруг понадобиться вернуть старую функциональность... Собеседник: Да, да, я понимаю
Но, ребята, системы контроля версий вроде не вчера изобрели и они могут реально экономить время, возможно стоит попробовать? :-) Некоторое время назад у меня был еще следующий разговор:
Ведущий программист: А на чем вы пишете? Я: В большинстве своем на Python. Ведущий программист: Хмм, а что это? Язык? На C похож?
Непонятно, вроде ведущий разработчик должен иметь минимальный кругозор в своей области (разве что она у него слишком маленькая) - Python вроде не совсем BrainFu*k... :-) К сожалению, все это навевает грустные размышления не только у меня, но и, например, у тех кто платит деньги и не разбирается в тонкостях разработки программного обеспечения. Зачем платить деньги (не говоря уже о больших) кому-то кто виноват в том что ничего не работает? И эта ситуация во многом сказывается и на всей отрасли.
Кто реально использует "Экстремальное программирование"?
Dmitry Vasiliev 12:01 PM, November 14, 2007Для тех кто не в курсе, "Экстремальное программирование" - это набор практик способствующих увеличению производительности разработки программного обеспечения. Слово "экстремальный" в данном случае применяется в значении "по максимуму", т.е. в случае использования всех практик методологии по максимуму достигается наилучший результат. Сам я в своей работе использую некоторые практики, такие как "разработка через тестирование", "рефакторинг" и некоторые другие. К сожалению попытки внедрения методологии в различных коллективах пока не увенчались успехом. Большинство обычно скептически относится даже к автоматическому тестированию, не говоря уже о парном программировании. Хотя попытки парной разработки были, но они обычно наталкивались на разницу в уровне разработчиков. Использует ли кто-то все практики "Экстремального программирования" в своей работе?