Регистрация началась немного раньше 9:00, т.к. уже в 8:30 у входа уже набралось такое количество людей, что уже все не помещались в вестибюле. При регистрации дали расписание докладов и немного спонсорской рекламы. Получил в гардеробе жетончик с номером “1” :).

10:00. Все ждут начала ивента, которое будет на 15 минут позже рннее заявленного времени. Есть весплатный wi-fi. В зале людй достаточно много, но всё-равно осталось много бейджиков для зарегистрированных участников.

10:02. Макс Ищенко со вступительным словом. Коротко, пости без рекламаы

Первый доклад. Почему Python - тормоз и как заставить его меньше тормозить.

Докладчик из Рамблера. Должо быть интересно. Питон сравнивается с С. Как можно? Теперь я знаю что С очень быстрый, а питон 2.6 быстрее 2.5. Пару месяцев назад в журнале Хакер была статья на это тему. Кажется, много общего. Не помню сейчас.  Оптимизпция кода на питоне такой, как она была представлена в докладе – действительно ли такая актуальная тема для pycamp? IMHO, не самый удачный доклад.

Второй доклад. Рецепты декораторов.

Было интересно, но коротко. Хотя и не знаю что можно было рассказывать про этой теме дольше 15-ти мунут. Порадовало, что докладчик хорошо разбирался в теме доклада, отвечал на вопросы.

Третий доклад. Программирование на нервах.

Первое, что бросилось в глаза - никакого отношени к Python! Доклад, скорее всего, получился не как доклад, а как рассказ об личном опыте одного PM'а. Объективно сложно судить, т.к. я не согласен практически ни с чем, о чём говорилось. Автору доклада нужны не живие люди, а роботы, которые тупо, без эмоций выполняют свою работу. 

Четвертый доклад. Работа с хранилищем данных в Google App Engine, отличия от реляционной модели.

Ожидал больше технических подробностей. Все было слишком поверхностно и легко находилось в документации. Во время доклада задавал себе вопрос: "Зачем я здесь? Всё это можно прочитать в документации к GAE". Еще, imho, раз уж тема была сформулирована так, можно было бы немного больше уделить времени memcache. После доклада осталось много вопросов, которые многие задавали в перервыве докладчику. Я решил уж лучше почитаю документацию.

Пятый доклад. Redis: Дикий Запад баз данных.

Наверное, это было лучшее, что я услышал на pycamp. Отличный доклад. Хорошо подготовленный о понимающий о чём идёт речь докладчик. После доклада С первых минут доклада хотелось попробовать всё, о чем говорил докладчик. Вскоре, напишу пост об это БД.

Дальше был обед. По некоторым причинам, одна из которой - не очень хорошая подготовка докладов, решил не слушать остальные, хотя, было бы интересно послушать "Расширение и встраивание Python". Буду ждать видео. Почему-то, как только первый раз увидел тему докладов, сразу же не захотелось слешать "PyCharm – новая python IDE от JetBrains". IDE - хорошая, но лучше посмотреть вебкасты. IMHO.

Что касается организации конференции, то всё было на достаточно хорошем уровне. Кроме, как уже многие выссказались, самих докладов и слайдов к ним. Иногда возникало ощущение, что доклады готовились ночью перед pycamp.


 


30 января - PyCamp Kyiv

Published 1/6/2010 by e0ne in Python
Tags: ,

30 января в Киеве пройдёт PyCamp. Вчера стал доступен список докладов, хотя и не полный. Не то, чтобы меня заинтересовали все темы, но всё-равно поеду. Надеюсь на то, что оранизация кампа пройдёт на достойном уровне и я не пожалею о зря потраченном времени.


Dynamic Language Runtime (DLR) - позволяет создавать свои динамические языки на платформе .NET. Сейчас самыми популярными из них являются IronPython и IronRuby. Также на просторах CodePlex существует IronLisp и другие динамические языки. Последняя версия DLR имеет номер 0.9 и была выпущена 10 декабря 2008 года.

Кроме того, что DLR позволяет создавать динамические языки, она также позволяет добавлять динамические элементы в уже сеществующие языки: C# 4.0 уже использует DLR - смотрите в сторону IDynamicObject.  Если я правильно понял документ DLR Overview, то DLR 1.0 будет частью Common Language Runtime (CLR), выход которой уже не за горами.

Dynamic Language Runtime состоит из трех основных частей: 

  • Common Hosting - оперирует со скриптами (компиляция, парсинг, загрузка), включает в себя всю необходимую функциональность для работы со скриптами динамических языков.
  • Runtime - как видно из названия отвечает за выполнение скриптов, взаимодействие с COM, CLR.
  • Language Implementation - отвечает за механизмы, необходимые для реализации скриптовых языков.

 



Все это очень хорошо подробно описано в документации (DLR Overview и DLR Spec), которую можно скачать со страницы проекта.

Если у вас будет желания (не будет желания читать официальную, англоязычную, документацию), то в следующих постах я рассмотрю более подробнее работу DLR.


Python 3.0 и Django

Published 1/22/2009 by e0ne in Python | Web Development

Новое - не всегда означает хорошее. Я когда-то уже писал про IT-гонки глазами программиста. Основная идея поста - не стоит спешить переходить на новее, если в этом нет крайней необходимости.

Вот и после очередного релиза Python, правильнее сказать после выхода новой версии языка Python 3.0 захотелось сразу опробоватьвсе гого "вкустности". Вот только новая версия не полностью совместима с веткой 2.х. Поэтому возникает вопрос на какой версии начинать новые проекты? Популярный web frameworkDjango все ещё не пожжерживает Python версии 3.0. Вот что пишут их разработчики:

 

Can I use Django with Python 3.0?

Not at the moment. Python 3.0 introduced a number of backwards-incompatible changes to the Python language, and although these changes are generally a good thing for Python’s future, it will be a while before most Python software catches up and is able to run on Python 3.0. For larger Python-based software like Django, the transition is expected to take at least a year or two (since it involves dropping support for older Python releases and so must be done gradually).

In the meantime, Python 2.x releases will be supported and provided with bug fixes and security updates by the Python development team, so continuing to use a Python 2.x release during the transition should not present any risk.

 

Вот так.  Пока что для веб-разработки прийдётся использовать старую, но провереннуюверсию языка.


В предыдущем посте я рассказал как подружить Visual Studio и IronPython. Сегодня мы напишем первое приложение на ASP.NET на языке IronPython.

Для начала необходимо скачать ASP.NET Dynamic Language Support, который включает в себя документацию и два примера: ASP.NET MVC IronPython Sample и ASP.NET Webforms IronPython Sample. Webforms sample- это обычный web site проект с такими файлами:

 

 К сожалению, в текущей версии не поддердивается проект Web Application.

C ASP.NET MVC Sample всё на много интереснее. Т.к. Python - это динамичский язык и не поддерживает атрибутов, то код контроллеров приходится писать на C#. С model и view всё значитально проще. Можно использовать IronPython, только во view нужно указать Language="IronPython". В остальном создание приложение ничем не отличается от такового на C#.

Ну и напоследок хочу сказать, что на прошлой неделе вышел IronPython 2.0 Release Candidate 1.

Продолжение следует.


IronPython - динамический язык с поддержкой .NET. Полностью совместим с оригинальным Python, но, в тоже время, позволяет пользоваться всеми преимуществами .net framework. Проект развивается комьюнити и поддерживается Microsoft. Оффициальный блог - http://blogs.msdn.com/ironpython. Текущая стабильная версия - 1.1.2, но уже сейчас доступна вполне рабочая 2.0 Beta 5, которая включает в себя множетсво баг-фиксов и другие изменения.

Чтобы начать программировать на этом языке достаточно всего лишь скачать его дистрибутив и запустить его консоль. Только таким образом мы избавим себя от таких удобств, как:удобная IDE, подсветка кода, дебаггер и всё то, что помагает нам каждый день в порцессе разработки прилижений.

В качестве IDE можно выбрать SharpDevelop, который уже после установки поддерживает IronPython, или же установить IronPython Studio - продукт, основанный на Visual Studio Shell и может работеть как отдельное приложение, так и как часть Visual Studio.

 После установки IronPython Studio появляются новые проекты на языке IronPython: Console Application, Windows Application, Class Library и WPF Application.

 

Для написания первого приложения создаём Console Application. После чего нам генерируется приложение, которое уже выводит на экран текст. Но, так как мыхотим использовать для этого .net framework, то немногоменяем код:

 

from System import * hello = "Hello World!!!" Console.WriteLine(hello) Console.ReadLine() 

 

 Продоление следует...

 P.S. А логотим Python чем-то напоминает украинский фаг.