Отчет с Pycon 2010

pyconНа днях в Атланте (США) завершилась конференция по языку программирования Python. В этом году мне впервые удалось на нее попасть и хочу поделиться своими впечатлениями.

Мероприятие достаточно масштабное: три дня идут доклады (keynotes и lightning talks в большом зале и затем пять потоков для «обычных» докладов, полная программа). Плюс open spaces: неформальные «кружки по интересам», где обсуждаются конкретные темы как например GIL, django или distribute. Плюс два дня мастер-классов, где за дополнительные деньги можно получить быстрое «погружение» по выбранной теме. Плюс четыре дня спринтов, где разработчики садятся вместе и программируют, например, новую реализацию того же GIL или закрывают тикеты в django.

Все доклады снимались на видео, которое уже доступно на pycon.blip.tv. Рекомендую начать с keynotes и lightning talks (1, 2, 3), они интересные. Мне понравился доклад Threading not a model и Understanding The Python GIL. Хотелось бы больше докладов «продвинутого» уровня и вообще более качественной подготовки от докладчиков (ну да это камень и в мой огород).

Из услышанного и увиденного:

  • В Python 3.2 был кардинально переделан алгоритм работы GIL, впервые за 15 (!) лет. Теперь не будет sys.setcheckinterval() и «check counter», вместо этого используется ожидание с таймаут и принудительная передача при превышении таймаута. Остается добавить логику по динамическому управлению приоритетами потоков, как это делает ОС
  • Переход на Python 3 понемногу становится реальностью. Идет работа над 2to3, появился и (альфа-качества) 3to2 для авто-сборки под Python 2. Появляется документация с описанием процесса перевода.
  • distutils & setuptools идут в утиль, всех призывают переходить на pip (distribute) плюс virtualenv. Хорошая иллюстрация слов GvR, «включенный в stdlib код перестает развиваться»
  • Бикинг взялся делать silver lining (toppcloud), утилиту развертывания Python-приложений для унифицированного хостинг-окружения на базе Ubuntu+Apache+mod_wsgi
  • coverage.py научилась понимать «условное покрытие» (т.е. когда ветка else не исполняется) и рисовать красивые html отчеты
  • У reddit 3 разработчика, при этом на новые фичи работает только «0.5 девелоперов». Остальным видимо хватает работы в поддержке существующего. Весь деплоймент reddit происходит в Amazon cloud, ежемесячный счет за хостинг — около $20К. По словам разработчика, это значительно дешевле затрат сравнимых по посещаемости проектов

Самое наверное ценное в такого рода мероприятиях это не сами доклады, которые есть на видео, а возможность знакомства и общения с другими разработчиками. Всегда приятно «развиртуализоваться» с человеком, с которым общался чуть ли не десяток лет в списках рассылки. Главное не переборщить. Неожиданно для себя получил, например, пару серьезных разговоров насчет возможной контрактной работы.

Из Киева было аж четыре человека, один парень был из СПб, других людей из России/Украины замечено не было. Поляков и других европейцев было много. Для наших широт поездка на PyCon удовольствие не из дешевых, $1000 стоит перелет плюс еще примерно столько же на проживание и еду/развлечения. Вряд ли я поеду на следующий, вместо этого лучше попробуем провести EuroPython в Киеве.

Честно говоря не знаю, что еще написать. Кому интересен был ход событий, мог следить за ними в твиттере. Про видео написал. О впечатлениях от поездки в Штаты написал у себя в блоге. Если есть еще вопросы — отвечу в комментариях.

Підписуйтеся на Telegram-канал редакції DOU, щоб не пропустити найважливіші статті.

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn



Підписуйтесь: Soundcloud | Google Podcast | YouTube


9 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Скоро будет проводиться — не пропустите... http://devconf.ru/python/page/.../

Богдан, pip работает на винде, это замечание написано было когда проект был совсем молодой, сейчас уже неактуально. Насчет яиц наверняка не знаю, может по старому.

coverage.py научилась понимать «условное покрытие» (т.е. когда ветка else не исполняется)

Это и раньше работало, новая фича в том, что если есть такой код:

if cond: stmt1stmt2

И cond в тестах всегда верный, то stmt2 будет отмечен как покрытый, но частично (желтый в html), потому что неизвестно, сработает ли он при неверном cond (допустим использует локальную переменную которая впервые присваивается в stmt1).

я правильно понимаю, что докладчик требовал елементы Scala/Haskel вместо threads? в этом его доклад заключался?

Игорь, см http://bitworking.org/news/201.... Автор правда советует дождаться видео. Докладчик сравнивал примитивы и подходы в асинхронном (многопоточном) программировании с обычными шаблонами программирования, типа Visitor или Factory. В питоне никто не использует Visitor или Factory в «явном» виде т.к. они фактически выражаются средствами языка. Для паттернов многопоточного программирования это (пока?) не так и это признак того, что здесь что-то не правильно. В качестве примеров приводились языки IO и Go, где тоже есть поддержка на уровне языка и «шаблоны» становятся излишними.

а можно кратенько суть/keynotes “Threading not a model”?

Спасибо, исправил

Очепятка: coverage.py, а не converage.

На pip ещё не скоро переедут в виду двух крупных недостатков:

It cannot install from eggs. It only installs from source. Maybe it doesn’t work on Windows. At least, the author doesn’t test on Windows often.

лучше попробуем провести EuroPython в Киеве.

Как, однако, это клëво звучит.:)

Подписаться на комментарии