Введение
Целью данного курса является рассмотрение самых ключевых аспектов языка Scala, по возможности не углубляясь во всевозможные синтаксические вариации и «пестрые» функциональные возможности, ограниченно применимые в практической работе.
Cинтаксис языка Scala очень разнообразен и допускает множество отклонений. Они существуют вовсе не для того, чтобы Вас запутать, а чтобы упростить Ваши программы, сделать их более четкими, ясными и лаконичными, а также избавить Вас от повторения одинаковых языковых конструкций (boilerplates). Преимущества такого «развязанного» синтаксиса становятся очевидными только после приобретения некоторого опыта программирования на Scala.
При выборе тем для изучения мы старались сохранять формат учебного курса в золотой середине, балансируя между двумя крайностями:
всеобъемлющим справочником, подробно раскрывающим каждую тему, — такой формат учебного курса чудовищно сложен для освоения и значительно откладывает момент, когда Вы сможете написать свой первый интернет-магазин;
- и практическим уроком, подготовленным на скорую руку и не оставляющий никаких объяснений или сколько-нибудь полезных методологических советов.
Принимая решение о том, включать ли ту или иную функциональность языка Scala в программу обучения данного курса, мы руководствовались степенью влияния этой функциональности на основные факторы качества создаваемых Вами программных продуктов.
Несмотря на то, что мы стремились оставить только самое важное, Вас ожидает довольно большой объем информации, которая, возможно, является абсолютно новой для Вас. Пожалуйста, не волнуйтесь, если Вы понимаете не все детали. По мере того, как Вы будете работать с данным курсом, все нюансы будут постепенно вставать на свои места.
Немаловажную роль играет самостоятельная работа: старайтесь применять техники, о которых Вы узнали, чтобы моделировать вещи и процессы вокруг себя. Дайте волю своей фантазии и воображению, не бойтесь экспериментировать — и Ваши усилия окупятся с лихвой.