 Для изучения Scala прочитал две книги: Programming in Scala от создателя языка Мартина Одерски и Scala in Depth от прожженного перца Joshua D. Suereth. Первая книга произвела просто грандиозное впечатление - без сомнения одна из лучших книг по языкам программирования, которые я читал (вполне может соперничать с тем же Страутрупом). Да, описана не самая свежая версия 2.8; да, есть уже устаревшие разделы (в частности про нативные акторы); да, некоторые сложные темы освещены не до конца, как выяснилось в последствии, но все это меркнет перед отличным изложением, продуманное структурой и понятными примерами. Конечно, возможно на меня такое впечатление произвел сам язык, и поэтому книга показалась особенной, но в любом случае, если надо научиться программировать на Scala, то надо читать Programming in Scala - там есть все что бы начать писать свои собственные классные программы.
Для изучения Scala прочитал две книги: Programming in Scala от создателя языка Мартина Одерски и Scala in Depth от прожженного перца Joshua D. Suereth. Первая книга произвела просто грандиозное впечатление - без сомнения одна из лучших книг по языкам программирования, которые я читал (вполне может соперничать с тем же Страутрупом). Да, описана не самая свежая версия 2.8; да, есть уже устаревшие разделы (в частности про нативные акторы); да, некоторые сложные темы освещены не до конца, как выяснилось в последствии, но все это меркнет перед отличным изложением, продуманное структурой и понятными примерами. Конечно, возможно на меня такое впечатление произвел сам язык, и поэтому книга показалась особенной, но в любом случае, если надо научиться программировать на Scala, то надо читать Programming in Scala - там есть все что бы начать писать свои собственные классные программы.
Вторая книга представляет из себя этакую смесь полезных советов в стиле Майерса/Шилда/Блоха с разделами особенно глубокого погружения в различные аспекты языка. Описывается версия 2.9. Затрагиваются такие темы, как стиль, интеграция с java, акторы (да, опять устаревшая часть), ООП, функцианальное программирования и т.д. Особенно большие разделы просвещенны системе типов и implicit'ам. Темы очень важные и действительно сложные (но что за магия оказывается при этом на кончиках пальцев!). Вообще вся книга далеко не для новичков - лучше иметь уже хотя бы небольшой опыт продакшен разработки на языке что бы понимать некоторые вещи. В целом, must read для всех, кто пишет на Scala.
В качестве одной из killer фич языка являются акторы Akka (стандарт с версии 2.10) - созданы по мотивам акторов в Erlang. Писать многопоточные , распределенные программы на них удобно и, я бы сказал, кайфово. Отличная документация по Akka есть на сайте - вроде скоро обещают выпустить пару стоящих книг.
Поддержка Scala есть в IntelliJ IDEA в виде плагина. Поддержка хуже чем для Java, наверное на порядок (но на 2 порядка лучше чем то, что сейчас есть в разных IDE для C++), что связанно со сложностью языка. Есть удобный REPL и фактически прозрачная интеграция с кодом на Java.
Подводя итоги: язык - первый сорт. Книги по нему уже есть высшего качества (чего не скажешь о некоторых других интересных языках). Давно уже я не ловил такой кайф от программирования, наверное в последний раз это было во время моих экспериментов с Erlang и с написанием С++ проекта без legacy-кода - на чистом boost. Если еще не попробовали, очень рекомендую!
 
Комментариев нет:
Отправить комментарий