LINUX.ORG.RU

Scala


82

3

Всего сообщений: 51

Spray.io стал частью платформы Typesafe

Группа Open Source

Компания Typesafe в своем блоге объявила о том, что библиотека spray.io теперь стала частью их платформы. Библиотека spray реализует низкоуровневую поддержку протокола HTTP на базе акторов Akka. Часть библиотеки ранее уже была интегрирована в ядро Akka — компонент akka-io.

В результате интеграции планируется получить модуль Akka HTTP, предназначенный для реализации легковесных REST-сервисов и создания клиентов для них. Как и остальные компоненты Akka, новый модуль также получит Java API.

Play Framework, другая часть платформы, в настоящий момент самостоятельно реализует HTTP на базе Netty. В будущем планируется переход на использование spray, но с сохранением опциональной старой реализации.

>>> Подробности

 , , , ,

maxcom
()

Третья встреча Scala-разработчиков в Санкт-Петербурге

Группа Конференции и встречи

11 апреля в Санкт-Петербурге пройдет третья конференция для Scala-разработчиков.

Программа конференции:

  • Илья Ключников (Huawei Research) «Введение в lightweight modular staging и scala virtualized»;
  • Дмитрий Найданов (JetBrains) «Play 2.0 в IntelliJ IDEA»;
  • Павел Фатин (JetBrains) «Поддержка компиляции в Scala Plugin с использованием Zinc»;
  • Алексей Злобин (GridGain) «Легкое распределённое программирование со Scala и GridGain»;
  • Багманов Рафаэль (Grid Dynamics) «Scala in a wild enterprise».

Вход свободный, необходима предварительная регистрация.

>>> Подробности

 , ,

ymn
()

Выпущен официальный плагин Scala для NetBeans

Группа Java

Не далее как 11 марта сего года на портале плагинов для NetBeans был размещён Scala plugin 1.6.1.1.

Список требований плагина к зависимостям:

  • Среда NetBeans 7.2+
  • JDK 6+
  • Scala 2.10+

Опционально поддерживается sbt и плагин nbsbt — соответствующая система сборки проектов Scala.

Список новых возможностей плагина:

  • Более информативные сообщения о результатах компиляции.
  • Исправлена консоль sbt в версии для Windows.
  • Поддерживаются зависимости областей тестов в sbt-проектах.
  • Информация о classpath в свойствах проекта.
  • Всплывающее автодополнение в Scala- и sbt-консолях.

От себя: налицо заметное ускорение синтаксического разбора исходного текста, более корректное следование стандарту языка (варианты без точки с запятой в конце строки обрабатываются корректно), более приятный вид самого текстового редактора и исходного текста.

>>> Подробности

 ,

LongLiveUbuntu
()

Выход Play framework 2.1

Группа Java

Вышла новая версия легковесного mvc web-фреймворка Play, позволяющего создавать веб-приложения на языках Java и Scala.

Основные изменения

  • Scala 2.10: Весь проект не только переведен на Scala версии 2.10, но и была удалена зависимость между версией Scala, используемой в системе сборки(sbt), и версией, используемой в рантайме.
  • scala.concurrent.Future: Реализована поддержка библиотеки scala.conncurent.Future: управление асинхронным кодом стало проще, а также появилась возможность напрямую использовать библиотеки, реализующие тот же API.
  • Модульность: Сам фреймворк разделен на модули(jdbc, anorm, javaCore, javaJdbc, javaEbean, javaJpa, filters). Базовый модуль фреймворка стал еще легче.
  • Модульность проектов: Улучшена поддержка подпроектов: теперь подпроектам доступны собственные компоненты управления путями, а из их композиции и складываются пути всего проекта.
  • Улучшение многопоточности Java API: Теперь при асинхронных вызовах не теряется Http контекст, а также управление синхронизацией перенесено на уровень фреймворка.
  • Управление созданием контроллеров: Добавлена возможность создавать контроллеры вручную посредством перегрузки метода getControllerInstance. Теперь доступно применение dependency injection в вашем приложении.
  • Новый Scala JSON API: Теперь с валидацией и преобразованиями.
  • Filter API: Новый Filter API позволяет работать с любой частью запросов или ответов, а также предоставляет защиту от кроссайтовых атак(CSRF)
  • requireJS: Добавлена поддержка requireJS - динамического загрузчика js модулей.

Всего к данному релизу команда разработчиков произвела 182 исправления и улучшения.

>>> Подробности

 , , ,

RedPossum
()

Вышла Scala 2.10

Группа Open Source

Объявлено о выходе новой версии языка программирования Scala 2.10.

Основные нововведения:

  • классы-значения (value classes) — новый механизм, позволяющий уменьшить расходы на выделение памяти;
  • неявные модификаторы (implicit classes) теперь относятся к определению классов и призваны упростить расширения для других типов;
  • интерполяция строк (string interpolation) — новый механизм создания строк;
  • Futures и Promises призваны упростить создание многопоточного кода;
  • библиотека Akka Actors теперь является частью языка;
  • наконец-то в состав языка добавлена поддержка макросов.

Текущая стабильная версия языка программирования Scala может быть получена на странице загрузки проекта; исходные коды распространяются на условиях лицензии BSD.

>>> Подробности

 

ymn
()

Scala 2.10 RC2

Группа Open Source

Не далее как 9-го ноября сего года было объявлено о выпуске второго релиз-кандидата языка пограммирования Scala версии 2.10.

Основные нововведения и улучшения таковы:

  • Классы-значения (value classes) — снижают накладные расходы на выделение памяти.
  • Неявные классы — служат для упрощения создания классов, обеспечивающих методы расширения для другого типа.
  • Интерполяция строк — позволяет разработчику добавлять в выражение присваивания ссылки на (строковые) переменные, которые превращаются в итоговую строку.
  • Улучшения в обработке многопоточного кода: Futures и Promises.
  • Параллельные коллекции теперь могут настраиваться под отдельный пул потоков.
  • Новый кодогенератор, основанный на ASM: поддерживаются форматы Java 6 (по умолчанию) и Java 7, Java 5 будет объявлен устаревшим.
  • Динамические типы выведены из числа экспериментальных возможностей.
  • Улучшено сопоставление по образцу.
  • Библиотека акторов Akka введена в ядро языка.
  • Объявлены устаревшими восьмеричные литералы.
  • Введены следующие экспериментальные возможности языка: отражения (reflection), макросы.
  • Также проведена работа по оптимизации библиотеки, в частности вычисление Range.sum теперь имеет сложность O(1).

А также много других улучшений в Scaladoc и в библиотеке языка.

>>> Подробности

 ,

LongLiveUbuntu
()

Вторая Scala-конференция в Санкт-Петербурге

Группа Конференции и встречи

19 мая в офисе JetBrains состоится вторая встреча Scala-разработчиков в Санкт-Петербурге.

На этот раз с докладами выступят:

  • Евгений Бурмако, EPFL — «scala.reflect»;
  • Василий Ременюк, Viaden — «Курс молодого подрывника»;
  • Александр Подхалюзин, JetBrains — «Магия Scala изнутри»;
  • Светлана Исакова, JetBrains — «Язык Kotlin».

Участие в конференции бесплатное. Необходима предварительная регистрация.

Эта встреча примечательна тем, что на ней выступит Евгений Бурмако, докторант EPFL, который работает над макросами в Scala под руководством Мартина Одерски.

Напоминаю, что Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.

>>> Подробности

 , ,

ymn
()

JavaFX 2.0

Группа Java

После разработки, длившейся больше года, вышла вторая версия платформы для создания интернет-приложений JavaFX. Эта технология имеет давнишнюю историю: будучи созданной в 2007 году под названием «F3», успела претерпеть несколько релизов, а также поменять название и хозяев. Сегодняшний JavaFX - достойный ответ Oracle таким технологиям как Adobe AIR и Microsoft Silverlight. Это подразумевает быструю и эффективную 2D- и 3D-графику, использующую аппаратное ускорение; векторную анимацию, построенную на принципах keyframe и tweening; эргономичный набор виджетов; запуск как в браузере, так и через Java Web Start; возможность инсталляции в качестве desktop-приложения; возможность использовать современные мощные языки программирования.

Ключевым моментом версии 2.0 является то, что вся функциональность JavaFX доступна теперь в виде обычных Java API. Если раньше единственным языком для JavaFX являлся FXScript, то теперь платформа JavaFX открыта для всего спектра JVM-языков: Java, Scala, Groovy, JRuby, Jython, Clojure, Mirah, Fantom и другие; почетное место в списке занимает Visage - достойный наследник FXScript. Авторы JavaFX надеются, что этим списком будут удовлетворены сторонники даже самых экзотических тенденций в программировании. Остальные важные моменты релиза 2.0 вкратце перечислены ниже; подробнее ознакомиться с ними можно по ссылке.

( читать дальше... )

О выходе JavaFX 2.0 было объявлено вчера на конференции JavaOne'2011 в Сан-Франциско. Разработчики пообещали в скором времени открыть исходные тексты всей платформы JavaFX в рамках проекта OpenJDK. Помимо этого, были озвучены небезынтересные идеи касательно будущей Java 9, такие как реификация, оптимизация хвостовых вызовов, продолжения (continuations) и метаобъектный протокол (MOP).

В данный момент доступна стабильная версия под Windows, Developer Preview под Mac OS и альфа версия под Linux. Стабильная Linux версия ожидается в 2012.

>>> Подробности

 , , , , , ,

Kuka
()

Вышла Scala 2.9

Группа Java

После нескольких релиз-кандидатов на этой неделе, сегодня наконец-то вышла стабильная версия скалы 2.9. Основным нововведением стали параллельные коллекции, которые уже успели вдоволь обсудить. Также среди нововведений:

  • Трейт App, безопасная и более мощная альтернатива трейту Application, который отныне deprecated.
  • Трейт DelayedInit, который позволяет настраивать порядок инициализации классов и объектов.
  • Новые директивы в REPL: :imports, :implicits, :keybindings, :javap
  • Аннотация @strictfp
  • Новые пакеты scala.sys и scala.sys.process, взятые из sbt.Process
  • Новые методы в коллекциях: collectFirst, maxBy, minBy, span, inits, tails, permutations, combinations, subsets
  • А также много всего по мелочи. Ну и по традиции, багфиксы и ускорение производительности.

P.S. Для интересующихся, сегодня также вышла версия 1.1 фреймворка легковесных акторов, Akka. Подробности там -> Akka User List

>>> Подробности

 ,

folone
()

7-й номер журнала «Практика функционального программирования»

Группа Документация

Вышел свежий, 7-й номер журнала «Практика функционального программирования». В новом номере вы можете прочитать следующие статьи:

  • «Язык РЕФАЛ — взгляд со стороны». Бойко Банчев расскажет о сущности, истории и современном состоянии языка РЕФАЛ — детища Валентина Фёдоровича Турчина; языке незаслуженно подзабытом, но на десятилетия опередившем своё время и пустившем корни во множество современных ЯП (как, например, Mathematica).
  • «Circumflex — веб-фреймворк на Scala comme il faut». Александр Темерев даст урок использования этого «обезжиренного» и гибкого веб-фреймворка, написанного на Scala российской командой во главе с Борисом Окунским.
  • «Разработка алгоритма обнаружения движения в среде программирования Mathematica». Вадим Залива расскажет об опыте прототипирования такого алгоритма при разработке iPhone-приложения iSentry. Хотя Mathematica и не является в полном смысле этого слова функциональным языком программирования, но программирование в этой среде задействует множество не очень распространенных пока в мейнстриме, но очень важных и заслуживающих внимание средств: интерактивный интерпретатор, гомоиконность (единство кода и данных), сопоставление с образцами, wholemeal programming (оперирование целыми структурами данных, а не их частями), акцент на «чистое» программирование, dataflow programming (Manipulate) и т.п.
  • «Как написать LDAP-сервер на Erlang» и «Как написать LDAP-сервер на Си». Максим Сохацкий и Олег Смирнов обменяются любезностями со Львом Валкиным: Максим и Олег похвалят Erlang за то, что на нем можно за 20 минут написать LDAP-сервер, а Лев докажет, что дело тут вовсе не в Erlang.
  • «Продолжения в практике». Алексей Вознюк (человек, написавший на LISP самую быструю программу к конкурсу в ПФП №3) расскажет об использовании продолжений для упрятывания асинхронности кода за обыкновенным «последовательным» синтаксисом. Эта тема особенно актуальна в контексте взрывного роста Веба и сетевых сервисов, но интересна и потому, что открывает целый пласт неожиданных структур управления. Рекомендуем перед прочтением ознакомиться с недавно опубликованным в «Библиотечке ПФП» переводом статьи «Паттерны использования call-with-current-continuation».
  • «Суперкомпиляция: идеи и методы». Илья Ключников, занимающийся суперкомпиляцией в Институте прикладной математики им. М. В. Келдыша, расскажет о суперкомпиляции (кстати, изобретенной также В. Ф. Турчиным в контексте языка РЕФАЛ), построив поразительно компактный и понятный суперкомпилятор простого языка, и покажет, что она применима не только для удивительно мощной оптимизации многих классов программ, но имеет и другие неожиданные применения.

Кроме этого, журнал доступен и в печатном виде (200р, доступны и все предыдущие номера, комплекты еще дешевле, доставка куда угодно, в Москве можно самовывозом).

>>> Обсуждение свежего номера

 , , refal, , , , , ,

ott
()

Вышел Lift 2.3

Группа Java

Сегодня вышла новая версия самого популярного веб-фреймворка для языка пограммирования Scala.

Новое:

  • Улучшение LiftsScreen и Wizard
  • В Wiring добавлена поддержка comet-запросов (Подробнее).
  • Полная поддержка Servlet 3.0
  • Улучшение возможнотей тестирования
  • Улучшение поддержки Squeryl/Record
  • Улучшение поддержки MongoDB/Record
  • Улучшение поддержки REST (Подробнее).

По словам разработчиков, от прочих фреймворк отличает семь фундаментальных вещей:

>>> Подробности

 , liftweb, ,

folone
()

Архитектура Twitter

Группа Интернет

Подробности о технической реализации и внутренней архитектуре одного из самых быстроразвивающихся интернет-проектов.

Среди используемых технологий:

  • Apache + mod_proxy
  • Ruby on Rails + Unicorn
  • FlockDB + MySQL
  • Cassandra
  • Hadoop

>>> Подробности

 , , flockdb, , , , , , , ,

blinkov
()

Группа разработчиков Scala получила грант Евросоюза

Группа Java

Группа разработчиков языка Scala получила грант Евросоюза, выиграв конкурс языков для параллельного программирования. Разработчики получат в течение следующих 5 лет на развитие своего детища 2,3млн €.

Scala — язык программирования для платформы JVM, сочетающий возможности объектно-ориентированного и функционального программирования. Scala был разработан в лаборатории швейцарского ВУЗ’а EFPL.

>>> Подробности

 , , ,

Karapuz
()

IntellijIDEA 10

Группа Java

Вышла новая версия одной из лучших IDE для платформы Java.

В этой версии:

  • Улучшено автодополнение кода
  • Увеличена скорость запуска IDE и синхронизации проекта с внешними изменениями
  • Модуль для разработки под Android стал доступен в свободной редакции
  • Добавлена поддержка распределенной системы контроля версий Mercurial. Добавлена поддержка инфраструктуры GitHub.com
  • Расширена поддержка Spring 3.0, GWT, Groovy, AspectJ, Grails
  • Обновлены плагины для поддержки Scala, Python/Django и Ruby
  • Поддержка работы на нескольких мониторах

IDE по прежнему доступна в двух редакциях - свободно распространяемой базовой версии и коммерческой версии с enterprise-функциями

>>> Подробности

 , , , , , , , , ,

maxcom
()

6-й номер журнала «Практика функционального программирования»

Группа Документация

После долгого перерыва вышел 6-й номер журнала «Практика функционального программирования», который также стал доступен и в печатном виде.

В номере вы можете найти:

  • эксклюзивные интервью с титанами функционального мира, создателями языков Haskell и Erlang: Саймон Пейтон Джонс и Джо Армстронг поделятся мыслями и ответят на вопросы о своих детищах и обо всем остальном, от работы в Microsoft Research до творчества Тарковского (обсуждение: Саймон Пейтон-Джонс, Джо Армстронг);
  • сравнение Node.js и Erlang (Дмитрий Демещук);
  • обзор языка Scala (Влад Патрышев);
  • перевод статьи Дэна Пипони о быстром сопоставлении с регулярными выражениями при помощи моноидов;
  • статью Евгения Кирпичёва, в которой идеи Дэна Пипони реализованы в коде

Кроме этого, начат проект «Библиотечка ПФП» в рамках которого будут публиковаться переводы известных статей на тему функционального программирования.

>>> Официальный анонс

 , , , , , , , ,

ott
()

Выпущена Scala 2.8.0

Группа Java

После выпуска 7 релиз-кандидатов увидела свет финальная версия реализации гибридного языка программирования для платформ Java и .Net Scala 2.8.0.

Версия 2.8.0 по сравнению с предыдущими содержит следующие изменения:

  • Переработанная библиотека коллекций. Подробности
  • Новая реализация массивов. Подробности
  • Специализация типов. Подробности
  • Именованые аргументы и аргументы по умолчанию. Подробности
  • Объекты пакетов. Теперь пакеты могут содержать не только классы и объекты, но и функции, переменные и алиасы типов.
  • Дополнена библиотека Scala Swing, улучшена документация
  • Переработан REPL. Основным нововведением является автодополнение по Tab.
  • Изменения в алгоритме поиска неявных аргументов.
  • Новая библиотека комбинаторов парсеров. Теперь поддерживаются грамматики с левой рекурсией.
  • Улучшения в библиотеке обработки XML.
  • Улучшения в процедуре вывода типов.
  • Улучшения аннотаций. Подробности
  • Улучшения в реализации актёров.
  • Поддержка продолжений (continuations). Продолжения поддерживаются плагином компилятора.
  • Множество исправлений. Подробности

Также выпущены новые версии сопутствующих инструментов: scaladoc 2, sbaz 2, scalap, Scala-плагин для Eclipse.

>>> Подробности

 , , ,

Zenom
()

Lift Два.Ноль

Группа Java

Дэвик Поллак объявил о выходе 2-й версии веб-фреймворка Lift.

Последняя версия поддерживает NoSQL хранилища MongoDB и CouchDB, обмен данными посредством JSON, модель обмена Comet, архитектуру REST. Как всегда, обещаны улучшения производительности работы фреймворка.

>>> Подробности

 , , , , ,

Karapuz
()

Novell Pulse

Группа Novell

Novell объявила о запуске Pulse, основанной на технологии облачных вычислений платформе для взаимодействия в реальном времени. Функционал платформы включает в себя мгновенные сообщения, обмен документами, социальные связи, совместное редактирование документов и т. д.

При создании Pulse был использован написанный на Scala web-фрэймворк Lift 1.0

Daniel Spiewak, один из разработчиков Pulse, так высказался о Lift:

Замечательная поддержка фрэймворком Lift технологии Comet сделала архитектурные решения значительно проще. Мы уже широко использовали Comet, так что от Lift была реальная польза. Фронт-энд web-приложения был полностью написан на Scala. Большая часть бэк-энда реализована на Java, хотя мы использовали код на Scala чтобы реализовать очень сложные функции, такие как рендеринг схемы содержимого Google Wave в XHTML.

>>> Подробности

 , , ,

Zenom
()

Kojo — среда для обучения языку Scala

Группа Java

Не так давно была анонсирована Kojo — среда для обучения языку Scala на платформе NetBeans. Kojo включает в себя много интересных возможностей, таких как, например, Scala REPL, и позиционируется как развлекательно-обучающая среда для детей. Автор Kojo, Lalit Pant, отвечает на вопросы сайта netbeans.org:

NetBeans: Lalit, здравствуйте. Расскажите, кто Вы и чем занимаетесь?

Lalit: Я — учитель математики в школе для девочек из малообеспеченных семей, в маленьком городке Dehradun в Северной Индии. Ранее я был профессиональным разработчиком и работал в США. В течение 16 лет карьеры мне довелось писать на самых разных языках — С, С++, Java, Prolog, Ruby, Python и, наконец, Scala. Последние 10 лет моей жизни так или иначе были связаны с Java.

NetBeans: Ну, и что же такое Kojo? С какими продуктами можно ее сравнить?

Lalit: Kojo является тем, что я называю обучающей средой. При помощи Kojo ребенок может играючи обучаться работе с компьютером, овладевать азами программирования, экспериментировать с математикой и визуальными образами. Из похожих продуктов я отмечу Scratch, Processing и The Geometer's Sketchpad.

NetBeans: Чем же Kojo уникальна?

Lalit: Kojo сочетает в себе:

  • мощный язык;
  • компьютерное искусство;
  • анимацию и визуализацию;
  • интерактивную математику.

Ни один из конкурирующих продуктов не предоставляет такого уникального набора возможностей в составе единой среды.

NetBeans: Почему Kojo написана именно на Scala?

Lalit: Должен признать, что знакомство со Scala способно сильно расширить кругозор даже самого опытного разработчика в объектно-ориентированной парадигме. Я столкнулся с такими новыми (и очень мощными) концепциями как Traits, Implicits, Abstract Types, полиморфизм type constructor'ов. Scala также явилась для меня примером практического применения функционального программирования, позволяя использовать функциональный подход внутри объектно-ориентированного кода. Поэтому, когда я стал задумываться об обучающей среде для детей, я не колебался в выборе Scala.

NetBeans: И в качестве пользовательского языка тоже?

Lalit: Да. Я решил, что буду обучать детей программировать именно на Scala, потому что даже узкое подмножество Scala (гораздо более простое, чем Java; по простоте приближающееся к Python или Ruby) обладает порядочной мощью. Да и Scala REPL пригодится мне для собственных разработок ;)

NetBeans: Каковы, по-Вашему, преимущества платформы NetBeans?

Lalit: Что мы имеем «из коробки»:

  • редактор исходных текстов: великолепная инфраструктура для создания редакторов, предоставляющая подсветку синтаксиса, автодополнение, автоформатирование и т.п.;
  • оконная система: фиксация (docking) / передвижение окон внутри рабочего пространства;
  • профессиональный внешний вид;
  • окно вывода с автоматическим переносом строк, «умным» скроллингом, настраиваемым шрифтом и гиперлинкингом для сообщений об ошибках;
  • прочее: всевозможные «свистелки» («bells and whistles») наподобие splash-заставки, диалога «About» и инсталлируемого zip-дистрибутива.

Kojo свободно распространяется по лицензии GPL. Доступны исходный текст, бинарные сборки и баг-трекер.

Интервью (на английском).

>>> Сайт Kojo

 , kojo, , ,

Kuka
()

Groovy++ догоняет Java по скорости

Группа Java

Осенью открылся проект по разработке статического компилятора с Groovy, называемый Groovy 1.8 или Groovy++ code.google.com/p/groovypptest/

Тесты, проведенные Nick Wiedenbrueck, показывают что производительность получаемого Groovy++ байткода лишь незначительно (в ~1,5раза) уступает байткоду, получаемому javac

>>> Подробности

 , , , ,

Karapuz
()