Сводная статистика -смотреть здесь
Archive for November, 2009
Список тем
Monday, November 30th, 2009Haskell в массы!
Monday, November 30th, 2009Друзья,
вдогонку к теме прошлой встречи, специально для тех, кто хочет “укрепить свой мозг”, представляю вниманию базовый курс видео-лекций по Haskell на Channel9. Ведет их Эрик Майер, гуру программирования из Microsoft по книге и слайдам Грахама Хаттона Programming in Haskell. Благодаря видео-лекциям, книга приобрела невероятный интерес и популярность по всему миру (пруфлинк).
Дабы не томить долгой прелюдией, далее список лекций по главам:
- Introduction
- First steps
- Types and classes
- Defining functions
- List comprehensions
- Recursive functions
- Higher-order functions
- Functional parsers
- Interactive programs
- Declaring types and classes
- The countdown problem
- Lazy evaluation
- Reasoning about programs
Слайды тут.
Всем приятного просмотра и не менее приятного программирования!
А на десерт – The Evolution of a Haskell Programmer
з.ы. этот пост будет обновляться по мере добавления новых глав.
Видео: Юрий Муленко. Функциональное программирование на C#
Monday, November 30th, 2009С# – это довольно гибкий язык программирования, в чём мы и убедились послушав доклад Юрия Муленко. Юра рассказал нам про несколько интересных фишек, которые позволяют писать программы на C# в функциональном стиле.
В презентации были упомянуты делегаты (указатели на функции), анонимные функции (замыкания), анонимные типы, и LINQ.
Видео: Александр Мочёнов. Дык это же Python!
Monday, November 30th, 2009“Это же Python!” – восклицал Александр Мочёнов. И действительно – Python – скажем мы. На этом языке можно сделать буквально всё. Python задействован в создании многих проектов, особенно с открытым исходным кодом. Python ещё очень интересен тем, что является мультипарадигменным языком программирования, в частности функциональный стиль никак не чужд Python-программистам.
А вот и бонус, несколько неплохих ресурсов по программированию на языке Python:
http://diveintopython.org/ – Старый-добрый Dive Into Python. Open Source Книга. Есть на русском.
http://diveintopython3.org/ – О последней версии питона – v.3. Если вы только-только знакомитесь с языком, то лучше изучайте сразу 3-ий – сообщество это оценит!
http://openbookproject.net//thinkCSpy/ – Интересное чтиво с научным углублением.
http://wiki.python.org/moin/RussianLanguage – всякие русскоязычные ресурсы.
Видео: Андрей Солнцев. Функциональное программирование на Java
Monday, November 30th, 2009Функциональное программирование – это парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций. В функциональном языке, при вызове функции с одними и теми же аргументами мы всегда получим одинаковый результат в обоих случаях, входные данные не могут измениться, выходные данные зависят только от входных.
Андрей Солнцев сделал отличную вводную – “ФП для чайников”, показал разницу между императивным и функциональным стилями на примере алгоритма бутерброда, а так же рассказал как принципы ФП могут быть применены в программировании на языке Java. Java не предоставляет возможностей для ФП на уровне синтаксиса, и поэтому, приходится пользоваться сторонними библиотеками, такими как Google Collections.
Тут нельзя не процитировать Сергея Зефирова (он же thesz):
1. Программы лучше писать на Хаскеле.
2. То, что не получается написать на Хаскеле, лучше генерировать из описания на Хаскеле.
3. И только то, что совсем-совсем невозможно уложить в предыдущие два пункта, надо писать на другом ЯП.
От себя, желаю всем когда-нибудь освоить Хаскель. Как сказал Андрей, “если это не убьёт ваш мозг, то сделает его сильнее”.
Обзор встречи 26.11.2009 – Функциональные элементы в ООП
Friday, November 27th, 2009В четверг состоялась очередная встреча нашего сообщества. Встреча прошла под названием “Функциональные элементы в ООП”, именно потому, что доклады были не о функциональных языках программирования, а об использовании парадигмы функционального программирования в таких языках как Java, C# и Python.
Вечер открыл Андрей Солнцев с докладом “Функциональное программирование на Яве. Практикум на ЭВМ”. Андрей популярно, с помощью бутербродного алгоритма, объяснил, в чём заключаются основные тезисы ФП, и рассказал как это можно использовать при написании программ на Java, с примерами Google Collections.
Довольно важный тезис, который подчеркнул Андрей, это то, что ФП в языке Java хорошо подойдёт для написания бизнес-логики, но, к сожаению, программист не имеет полного контроля над тем как будет исполнятся программа – этот контроль берёт на себя компилятор.
“Это же Python!” начал свой доклад Александр Мочёнов. Александр поведал нам немного об истории и философии, а так же о фишках ООП и ФП в языке Python.
Мы узнали что Python – это мультипарадигменный язык программирования, имеющий обширную стандартную библиотеку. Сказать откровенно, код на Python действительно кажется на столько “чистым”, что потом код на Java или C# кажется кучей мусора – кажется, что фигурные скобки это действительно лишнее, а все программисты являются достаточно взрослыми людьми для того чтобы делать отступы правильно.
Не смотря на то, что Python является довольно популярным языком программирования в мире, в нашем сообществе почти не оказалось Python-программистов. Я насчитал всего 2 человека – и те – QA-инженеры
Александр заметил, что Python не рекомендуется для написания приложений, где очень важна производительность – вероятно это и есть причина.
Третий доклад, “Функциональное программирование в C#”. Юрий Муленко рассказал нам о функциональных конструкциях языка C# которые здорово облегчают разработку. Для многих, по всей видимости, эта презентация стала выносом мозга, но как сказал Андрей в самом начале, “если это не убьёт ваш мозг, то сделает его сильнее”. Понадеемся, что после прошедшей встречи, мозги всех участников стали ощутимо сильнее
JAZOON 2010 Call for Papers
Tuesday, November 24th, 2009Конференция JAZOON – это аналог JavaOne в Европе. Я думаю не надо пояснять, на какую аудиторию программистов расчитана эта конференция
В июне JAZOON будет проводиться уже в 4й раз, и на данный момент открыта регистрация докладчиков. Поэтому, если кто то чувствует, что готов выступить перед тысячей программистов с техническим докладом по Java-технологии, дерзайте!

2й год подряд на конференции проводится конкурс молодых докладчиков – Jazoon Rookies. Докладчик должен быть моложе 27 лет по состоянию на 1 июня 2010. Это хороший шанс для молодых специалистов проявить себя!
Технология от The SixthSense
Friday, November 20th, 2009До чего дошёл прогресс! Хотя чему тут удивляться – мы же в 21м веке!
Google Developers Day 2009, Москва
Monday, November 16th, 2009Расскажу вам о поездке в Москву на мероприятие Google Developers Day 2009. Google Developers Day 2009 – это мероприятие проводимое компанией Google для продвижения своих технологий и продуктов. Целевая аудитория, как видно из названия – разработчики ПО. В этом году конференция проводилась в пяти местах: Пекин (Китай), Йокохама (Япония), Сан Паоло (Бразилия), Прага (Чехия), Москва (Россия). Параллельно с докладами, на конференции можно было пообщаться с инженерами из Google, которые непосредственно связаны с теми докладами, технологиями и продуктами, о которых говорилось на протяжении всего дня. Мне самому удалось пообщаться с координатором программы GTUG, которую так активно сейчас продвигает Google.
Для затравки – видеоролик который проигрывался в перерывах между докладами:
Основная тематика мероприятия, как я сказал выше, это продукты и технологии Google для разработчиков. Среди технологий, которым было уделено наибольшее внимание, можно выделить Google App Engine, OpenSocial, Chrome, Android, Wave и GWT. В добавок был упомянут новый проект - Chrome OS, который обещают запустить в конце года. А так же, Google не брезгует предоставлять возможность выступить с докладами и своим прямым конкурентам в России – Яндекс, линейка продуктов которого как зеркало повторяет технологии Google.
Вот список докладов, которые мне удалось посетить:
- От искры до 100 км/ч.: жизнь запроса App Engine. Fred Sauer. Серверная архитектура App Engine позволяет проводить автомасштабирование в режиме реального времени, не пользуясь виртуализацией. Довольно информативный доклад, чтобы узнать об инфраструктуре стоящей, за App Engine.
- OpenSocial, принципы и код. Chris Chabot. OpenSocial определяет общий набор API для создания социальных приложений на основе множества веб-сайтов. Крис – очень классный докладчик, слушать его одно удовольствие.
- Native Client. Виктор Хименко. Native Client – очень амбициозный проект. Идея в том, чтобы позволить запускать платформенно-зависимый код прямо из броузера. Проект имеет прямое отношение к Chrome OS, который планируется выпустить в скорому времени.
- Google Wave API. Вадим Герасимов. Google Wave несомненно наделал много шуму. Все только и говорят о волнах как о прорыве в свере обмена информацией на ряду с электронной почтой и службой обмена сообщениями. Понял, что API позволит делать довольные интеграции с другом ПО ориентированым на общение в команде – например с ПО для ведения проектов, такими как JIRA.
- Архитектура Google Web Toolkit: полезные советы по написанию вашего приложения на GWT. Fred Sauer. GWT – довольно амбизиозный проект, как и остальные проекты в Google. Идея транслирования Java в JavaScript, оставляя Java-разработчику возможность наслаждаться всеми прелястями разработки на своём любимом языке довольно заманчива. Но мы то (те кто успел опробовать GWT в реальных проектах) знаем, что не всё так гладко как хотелось бы. Приятно видеть что Google учитывает, пожелания разработчиков и старается улучшить GWT на сколько это возможно – а улучшать ещё можно много.
А вот и фотографии очевидца:
Организаторы конференции обещают в скором времени выложить видео докладов на веб-ресурсе мероприятия – советую посмотреть!
Следующая встреча состоится 26го ноября!
Saturday, November 14th, 2009Господа! Коллеги! Друзья!
Спешим обрадовать вас известием, что следующая встреча нашего сообщества ожидается 26го ноября, а значит есть повод отметить этот день в своём календаре красным цветом! Cоответственно, регистрация будет открыта 20го ноября, и этот день стоит тоже отметить красным цветом, а может быть даже завести будильник на 12:00
Темой следующего “заседания” станут ЯП – Языки Программирования. Нас ожидает 3 увлекательных доклада, каждый из которых будет посвящён отдельному ЯП, но все три доклада объединяет одна тема – функциональное программирование.
- Юрий Муленко расскажет о функциональных конструкциях языка C#. Компания Microsoft не дремлет и в дебрях гиганта по созданию ПО растёт и процветает платформа .NET, а так же язык C#. На волне инноватиных веяний язык программирования C# заимел в арсенале своих конструкций элементы функционального программирования. Юра с радостью поделится, какие из этих конструкций оказались на столько полезны при разработке ПО, что жизнь разработчика на C# стала на много радостней.
- Андрей Солнцев поведает о функциональном программировании на Java. Функциональные языки набирают популярность, но авторы Java не спешат добавлять в язык новые конструкции, аргументируя это тем, что язык должен остаться простым, и каждая новая конструкция должна быть тщательно продумана. Тем временем, матёрые Java-программисты, которые не хотят отставать от прогресса, придумали замену функциональным языковым конструкциям. Идея заключается в том, чтобы создать API который позволил бы писать код Java так, как будто это функциональный язык программирования.
- Александр Мочёнов сделает доклад о языке программирования Python. Александр надеется поделиться теми самыми “хорошестями” и “фишками”, которые делают этот ЯП таким особенным по его мнению. Напомним, что Python является одним из основных языков разработки во многих ИТ-компаниях (например в Google), а многие Python-адепты считают что лучше языка нет во всём мире. Если среди участников найдутся эти самые адепты, то они обязательно поддержат Александра, а тем, кто с этим языком ещё не знаком, будет несомненно интересно узнать, что такое Python.


