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 и в библиотеке языка.

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

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

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

BattleCoder ★★★★★ ()

Какова сфера применения этого языка?

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

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

LongLiveUbuntu ★★★★★ ()

макросы — это очень хорошо! и вот еще http://xeno-by.livejournal.com/79812.html - возможно местной студентоте будет интересно написать курсовой/дипломный проект на основе макросов скалы.

ymn ★★★★★ ()

что за 'динамические типы' ?

Bad_ptr ★★★ ()

Релиза ждем.

Макросы вот запилили, у меня по поводу возможностей 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 ★★★★★ ()
Ответ на: комментарий от BattleCoder

раньше писали на java, а куски, критичные к производительности писали на C.

какой-то не особо типично для java.

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

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

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

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

я так понял, чтобы писать курсовой/дипломный проект на основе макросов скалы - надо учиться в EPFL?

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

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

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

Legioner ★★★★★ ()

Что-нибудь про дату релиза известно? Может подождать и тогда запостить?

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

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

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

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

ymn ★★★★★ ()

Range.sum теперь имеет сложность O(1).

а раньше оно через цикл считалось? :)

yoghurt ★★★★★ ()

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

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

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

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

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

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

)))

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

Думаю да, просто использовался стандартные метод какого-то трейта без специализации

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

Еще ??? - мелочь, а приятно. Самое странное это RC, а идея уже генерит код с ???

vertexua ★★★☆☆ ()

Сабж не нужен. Java идеальна!

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

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

anonymous ()

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

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

Попробовал поставить руками, жалуется на неразрешенные зависимости. Видимо по-этому.

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

У тебя какая версия стоит?

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 ()
Ответ на: комментарий от anonymous

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

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

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

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

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

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

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

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

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

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

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