"Думаю в Scala", если у меня есть Java/С++-фон?

Я знаком с разработкой серверных приложений на Java, но теперь я хотел бы начать использовать Scala. Можете ли вы описать сдвиг парадигмы, который необходим? Вот несколько вопросов, которые могут помочь вам сформировать ответ:

  • Как мне создавать и создавать веб-приложения по-другому? Что самая большая разница?
  • Что я должен прекратить делать/использовать; Что я должен начать делать/использовать вместо этого?
  • Есть ли какие-либо соображения/ограничения на стороне клиента?

Я не ищу подробного сравнения Java и Scala.

Ответ 1

Ключевое различие между Scala и Java - это Scala использование функционального программирования.

  • Для веб-приложений вы будете использовать разные фреймворки. В настоящее время игра является самым популярным вкусом. Он похож на работу MVC в других рамках, но больше ориентируется на функциональную чистоту (хотя большинство приложений для воспроизведения далеко не чистые).
  • Вы должны перестать думать о мутирующих полях в памяти и думать о потоках данных неизменных значений. Не используйте var, когда вы можете сделать это с помощью val. В основном петли будут заменены конструкциями более высокого порядка, такими как map и fold. Избегайте нулей и вместо этого используйте Option.
  • Предполагая сторону веб-клиента, нет. Если вы не хотите компилировать Scala в JS. Затем применяются те же самые материалы.

Изучая мудро, я начинал с Twitter Scala school, после чего, Я рекомендую книгу Функциональное программирование в Scala. Я думаю, что эти два ресурса помогут вам в направлении FP, в отличие от написания программ Java-стиля с новым синтаксисом. Затем найдите нужное место в шкале OOP/FP, которое подходит для проблемы.