LINUX.ORG.RU

Scala 2.10 RC2

 ,


1

2

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

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

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

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

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

☕☕

Проверено: tazhate ()
Последнее исправление: CYB3R (всего исправлений: 2)

Здорово, что проект развивается. Печально, что в книжке, которую я заказал по интернету (и которая придёт в лучшем случае через месяц) освещается уже немного устаревшая scala-2.8.

p.s. компилятор шустрее стал, или такой же медленный?

BattleCoder
()
Ответ на: комментарий от BattleCoder

Там написано, что ядро языка оптимизировано по производительности, может и компилятор тоже.

LongLiveUbuntu ☕☕
() автор топика

Релиза ждем.

Макросы вот запилили, у меня по поводу возможностей scala создается впечатление, что это такой c++ из мира jvm.

RedPossum
()

RC наверное не место в новостях. А так всё супер, но сложный язык, популярным ему не стать.

Legioner
()
Ответ на: комментарий от BattleCoder

Печально, что в книжке, которую я заказал по интернету (и которая придёт в лучшем случае через месяц) освещается уже немного устаревшая scala-2.8.

Ничего страшного. В 2.9 вроде изменений особенных нет, в 2.10 будет куча нового, но знания из этой книжки будут всё так же актуальны. Это если книжка от Одерски, конечно, лучшей книги по скале всё равно не существует.

Legioner
()
Ответ на: комментарий от Kindly_Cat

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

Legioner
()
Ответ на: комментарий от Legioner

там три автора, один из них одерски. та, которая programming scala 2008 года. Захотелось иметь печатную версию =) которую можно «потрогать»

BattleCoder
()
Ответ на: комментарий от Legioner

раньше писали на java потому что это удобнее (проще ошибки отлавливать, быстрее код писать, надёжнее и т.п.), а куски, критичные к производительности писали на C. Теперь будут писать на scala (потому что ещё более высокоуровневый, чем java), а куски, критичные к производительности на java. куда катится мир? :)

BattleCoder
()
Ответ на: комментарий от RedPossum

ну может так редко кто и делал на самом деле =) (я, например, тоже не делал. хотя слышал про JNI, но не пользовался)

Суть в том, что про Java всегда говорят ,что медленнее C, потому что компилирует в байт-код, а C в машинный код.

BattleCoder
()
Последнее исправление: BattleCoder (всего исправлений: 1)
Ответ на: комментарий от BattleCoder

раньше писали на java потому что это удобнее (проще ошибки отлавливать, быстрее код писать, надёжнее и т.п.), а куски, критичные к производительности писали на C. Теперь будут писать на scala (потому что ещё более высокоуровневый, чем java), а куски, критичные к производительности на java. куда катится мир? :)

Ещё в этой цепочке есть ассемблер. Есть разные требования к производительности кода и производительности программиста у разных задач. Кодек на джаве глупо писать. Стандартный веб-сайт на С глупо писать.

Legioner
()
Ответ на: комментарий от maxcom

Видимо в пределах двух-трех недель, раз уже второй релиз-кандидат. Не думаю, что что-то сильно изменится за это время.

LongLiveUbuntu ☕☕
() автор топика
Ответ на: комментарий от maxcom

Если хочешь, можешь в мини-новости переместить.

LongLiveUbuntu ☕☕
() автор топика
Ответ на: комментарий от BattleCoder

нет конечно, надо договориться с руководителем диплома/курсовой, согласовать ТЗ и сдать в конечном итоге работу с рецензией Мартина. очень круто, имхо.

ymn
()

Релиз кандидат всего лишь. Пишу под него, но все равно могут все переиначить

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

Чтобы .format не писать что ли?

Введены следующие экспериментальные возможности языка: отражения (reflection)

Только что-то классов этих не нашел. А мне сильно нужно получить список полей всего cake с горой трейтов.

Также проведена работа по оптимизации библиотеки, в частности вычисление Range.sum теперь имеет сложность O(1)

)))

vertexua
()
Ответ на: комментарий от vertexua

Можешь объяснить, почему IDEA не хочет обновлять плагин для Scala? У меня сейчас установлена версия 0.5.983, а на домашней страничке плагина 0.6.299. В репозитории до сих пор старая 0.5.983 версия.

anonymous
()

пограммирования

anonymous
()
Ответ на: комментарий от vertexua

Только что-то классов этих не нашел. А мне сильно нужно получить список полей всего cake с горой трейтов.

scala-reflect, разве нет? скалу ж сейчас на пучку либ побили подробив scala-library.

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Ставить пытался 0.6.299

Попробуй EAP 12 и это как репозиторий плагинов

anonymous
()
Ответ на: комментарий от anonymous

> Только что-то классов этих не нашел. А мне сильно нужно получить список полей всего cake с горой трейтов.

scala-reflect, разве нет? скалу ж сейчас на пучку либ побили подробив scala-library.

или еще, как вариант, scala-library-all, чтобы совсем не заморачиваться

anonymous
()
Ответ на: комментарий от vertexua

Проверьте версию IDEA, они как будто новое только для новых версий выпускают

Я потому и написал 12 EAP и ссылку дал на репозиторий плагина для нее, или ты не мне?

anonymous
()
Ответ на: комментарий от vertexua

А, наверное не тебе

Ты, на сколько помню, скалу в продакшене используешь. У вас что-то, где производительность важна, написано на скале или это больше около вебовое все где затыков в БД и сети? И есть ли опыт применения активного в горизонтально-масштабируемых системах? Если есть, то как впечатления? По моим экспериментам Erlang + вычислительные ноды на Java/C как-то отзывчивей и менее ресурсоемкий нежели Scala+Akka

anonymous
()
Ответ на: комментарий от anonymous

Я пишу на скале свои домашние Hello Worlds. Но на фрилансе рефакторил криво написаный Scala проект на православный и каноничный.

Не могу сравнить с Erlang, нужно бенчмаркать, если он решает твои задачи, то ок. Но на Scala доступна вся платформа Java, этим все сказано

vertexua
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.