С недавнего времени я интересуюсь языком Scala. Пару месяцев назад я набрел на интересную серию статей от компании Twitter. Я сносно читаю на английском, но все же приятнее читать на русском языке, если есть нормальный перевод.
Благодаря труду Мариуса Эриксена (Marius A. Eriksen) и других людей серия статей увидела свет. Всех желающих узнать больше о Scala и помочь в улучшении перевода — приглашаю под кат.
Scala школа
Scala школа — это набор лекций компании Twitter был написан для того, чтобы сделать из опытных инженеров — эффективных Scala программистов. Эти лекции предполагают, что читатели знакомы с основными понятиями, а лекции помогут показать, как эти понятия могут использоваться в Scala. Для большинства уроков не требует никакого программного обеспечения, кроме Scala REPL. Считайте эти уроки отправной точкой для изучения языка.
Список рассмотренных тем:
- Переменные, функции, классы, методы, наследование, try-catch-finally. Программирование ориентированное на выражения
- Case классы, объекты, пакеты, apply, update, Функции как Объекты (единый принцип доступа), сопоставление с образцом.
- Коллекции — Lists, map, функциональные комбинаторы (map, foreach, filter, zip, folds)
- Сопоставление с образцом и функкциональная композиция
- Основные типы и полиморфизм типов, вывод типов, изменчивость, пределы, квантификация
- Дополнительные типы, видимое ограничение, типы высшего порядка, рекурсивные типы, структурные типы
- Simple Build Tool — Все о SBT, Стандартное средство сборки приложений для Scala
- Подробнее о коллекциях — Рассказ о библиотеке коллекций Scala
- Тестирование с помощью specs — Написание тестов с помощью Specs, Scala BDD фреймфорк для тестирования
- Параллельность в Scala — Runnable, Callable, потоки, Futures
- Java + Scala — Java совместимость: Использование Scala из Java
- Введение в Finagle- Finagle примитивы: Future, Service, Filter, Builder
- Searchbird — Создание распределенного поискового движка, используя Finagle
Effective Scala
Effective Scala представляет собой лучшие практики от компании Twitter. Scala не только очень эффективный, но и большой язык. Полученный нами опыт, научил нас быть очень осторожным при его использовании в своих приложениях в боевых условиях. Какие есть подводные камни? Какие особенности стоит использвать, а от каких отказаться? Когда мы можем использовать «чисто функциональный стиль», а когда его следует избегать? Другими словами: что мы ежедневно используем, чтобы быть более эффективными используя этот язык? Это руководство пытается передать опыт работников Twitter в коротких заметках, представляя их как набор лучших практик. Scala исопльзуется в Twitter для создания высококачественных сервисов, которые представляют собой распределенные системы. Все эти советы не явяются истиной в последней инстанции, и небольшое отклонение в формулировке должно быть вполне приемлимым.
Надеюсь данные переводы позволят пополнить немногочисленное сообщество Scala пользователей в России. Если есть интересные статьи по языку Scala или фреймворку Lift, напишите в комментариях и, возможно, они будут переведены в кратчайший срок.
P.S. Я буду рад всем замечаниям и конструктивной критике по переводу.
Автор: appigram