9 апреля вышел новый мажорный релиз языка программирования и платформы для создания отказоустойчивых, распределенных и высоконагруженных приложений — Erlang/OTP.
Основные изменения:
Erlang/OTP был портирован на ОС реального времени OSE (enea.com).
Maps — новый тип данных (долгожданные словари с паттерн-матчингом).
Множество улучшений в поддержке ASN.1.
Новая опция {active, N} для TCP, UDP, и SCTP сокетов.
Новый (опциональный) механизм балансировки использования планировщика.
Экспериментальные «dirty» планировщики.
Анонимные функции теперь могут быть именованными (EEP-0037, для удобной рекурсии).
N2O (Nitrogen 2x Optimized) — это усовершенствованная версия знаменитого Erlang веб фреймворка Nitrogen, но работающая полностью на вебсокетах и в несколько раз быстрее оригинального Нитрогена.
Основные изменения:
оптимизация всех слоев;
использование бинарного протокола BERT для контролов;
отложенная доставка JavaScript на клиент;
совместим по стилям с Twitter Bootstrap;
минимальное количество Erlang процессов на запрос;
поддержка шаблонов DTL;
быстрая разработка REST приложений;
XHR Fallback для старых браузеров без поддержки WebSockets;
неблокирующая загрузка кода: раньше загрузка модуля производилась в однопоточном режиме и блокировала работу виртуальной машины Erlang;
HTTP клиент поддерживает HTTPS через прокси;
многочисленные улучшения механизма портов;
компилятор ASN.1 теперь будет автоматически включать необходимые функции в сгенерированный модуль.
Этот релиз содержит некоторые изменения, которые ломают обратную совместимость с более ранними версиями Erlang/OTP. Для получения дополнительной информации обратитесь к подробному списку изменений.
Исходные коды, распространяемые на условиях лицензии Mozilla Public License, и бинарные сборки могут быть получены на странице загрузки.
Разработчики призывают всех пользователей обновиться до новой версии и как всегда приветствуют любые вопросы, сообщения об ошибках и общие предложения по расширению возможностей и улучшению будущих выпусков.
Напоминаю, что RabbitMQ создан на основе испытанной в боевых условиях Open Telecom Platform, обеспечивающей высокую надёжность и производительность промышленного уровня, и написан на языке Erlang.
ChicagoBoss — это легковесный веб-фреймворк, написанный на erlang. От аналогов отличается простотой написания моделей и контроллеров, отсутствием каких-либо привязок к js-библиотекам, высокой скоростью работы, поддержкой широкого диапазона веб-серверов и баз данных, а также ориентацией на высокую нагрузку и отказоустойчивость. В новой версии:
22 июня 2012 года Erlang Factory Lite приедет в Москву.
Erlang Factory Lite — это мини-конференция с докладами на свободные темы, продолжительностью не более одного дня. Встреча проводится при поддержке компании Яндекс.
Открыт приём докладов от разработчиков, архитекторов, тестировщиков, технических руководителей и предпринимателей.
Ожидаются доклады на следующие темы:
веб-разработка с использованием Erlang;
инструментарии разработки;
использование TDD;
интеграция в масштабах предприятия;
нескучные приложения на Erlang.
Участие в конференции бесплатное. Необходима предварительная регистрация. О месте проведения конференции будет объявлено позднее.
завершена переработка API чтения. Теперь чтение совершается с помощью функции cowboy_http_req:stream_body/1, которая берет на себя работу по Transfer-Encoding и Content-Encoding, возвращая расшифрованные данные, готовые к дальнейшей обработке;
добавлена поддержка фрагментированных websocket-сообщений;
добавлена функция sockname/1 для TCP и SSL транспортов;
добавлены новые коды состояния HTTP из RFC 6585;
различные исправления ошибок в REST;
повышена информативность сообщений об ошибках;
небольшие улучшения в документации;
переделан набор HTTP-тестов;
добавлено множество различных тестов.
Преимущества Cowboy:
небольшой размер кодовой базы;
высокая скорость работы: используется Binary HTTP для увеличения скорости работы и уменьшения объема потребляемой памяти;
легкость встраивания в другие приложения;
чистота кода: нет параметризованных модулей, нет никакого process dictionary, только чистый код на Erlang.
улучшения в работе менеджера модулей (стабильность при запуске, модули запускаются и останавливаются в правильном порядке и т.п.);
страница состояния системы приведена в соответствие с внешним видом основного сайта, требует логина для просмотра и управления;
улучшена стабильность соединений с PostgreSQL и улучшена обработка таймаутов при запросах;
добавлена поддержка RTL-языков (Иврит, Арабский и т.п.) для модуля mod_translation в админке. Добавлен перевод админки на испанский, ирландский, эстонский и польский;
в mod_development добавлена поддержка inotify (только для Линукса). Это позволяет производить компиляцию Erlang'овских файлов, очистку кэша и компиляцию/минимизацию LESS/SCSS/Coffeescript на лету;
ветка master теперь использует git-субмодули для основных внешних зависимостей.
Напоминаю, что Zotonic написан на языке Erlang и предназначен для быстрой и удобной разработки. Утверждается, что Zotonic на порядок быстрее PHP-ориентированных фреймворков.
Wrangler представляет собой интерактивный инструмент для рефакторинга кода на языке Erlang, который может быть интегрирован в Emacs и Eclipse.
Wrangler позволяет производить простейшие действия по рефакторингу: переименование модулей/функций/переменных. Wrangler понимает Erlang-код и поэтому способен произвести рефакторинг, сохраняя структуру и комментарии в коде.
Особенности релиза:
API на основе шаблонов, позволяющее пользователю самому определять правила для рефакторинга кода;
удобный DSL, с помощью которого можно легко сочетать как встроенные стратегии рефакторинга, так и определенные пользователем;
Добавлена новая функция erlang:statistics(scheduler_wall_time) для точной оценки работы планировщика.
Ssh теперь использует приложение public_key. Это — первый шаг к тому, чтобы в будущем предоставить полный контроль над передаваемыми ключами. Кроме того, исправлены некоторые проблемы, которые были найдены в процессе подготовки релиза.
При завершении работы escript стандартный ввод/вывод из программы выводится на терминал. Эта ошибка была исправлена путем изменения поведения erlang:halt/0,1. Обратитесь к документации.
Добавлен LDAP-клиент Торнквиста (Torbjörn Törnkvists) в качестве нового приложения — eldap.
Вышел в свет CloudI — фреймворк для создания производительных масштабируемых облачных решений.
Вкратце, CloudI — это сервер приложений, который эффективно интегрируется со многими языками и базами данных, повышая их масштабируемость и отказоустойчивость. Cloud API обеспечивают легковесный интерфейс для создания программных продуктов на C, C++, Erlang, Java, Python и Ruby.
В новой версии:
поддержка R15;
шаблоны поиска (wildcard) в названиях сервисов;
приоритетная очередь для служб Erlang;
«умное» перенаправление логов;
таймауты для очередей запросов.
В настоящее время заявлена поддержка следующих СУБД:
Конференция пользователей Erlang стартует в этом году 28 мая в Стокгольме. Это мероприятие объединяет лучшие умы и имена в мире Erlang от изобретателей языка и лидеров сообществ пользователей до сопровождающих проекты с открытым исходным кодом.
В скором времени будет открыта регистрация на конференцию.
Также осуществляется прием тем докладов. Вы сделали интересное нововведение, написали полезное приложение с открытым исходным кодом на основе Erlang/OTP? Использовали Erlang в реальном проекте и хотите рассказать об этом? Возможно вы захотите стать докладчиком и выступать на одной сцене с Майком Вильямсом (Mike Williams), Джо Армстронгом (Joe Armstrong) и Робертом Вирдингом (Robert Virding).