Стоит ли учить Scala + Akka?

Доброго времени суток, есть такая задача, нужна программа клиент-сервер, клиент - генерирует файлы разных форматов, отправляет серверу. Сервер - принимает файлы, обрабатывает и ведет статистику, сколько отправлено было, а сколько дошло, для каждого расширения свою. Пишу на C#, но случайно наткнулся на Scala + Akka фреймворк, почитал немного о нем и решил, что в дальнейшем можно было бы переписать серверную часть на нем. Хотелось бы услышать ваше мнение, делают на нем вообще такое? Стоит ли? сложен ли в освоении? с чего начать? и применяется ли он в продакшене? Буду благодарен за развернутый и подробный ответ, заранее спасибо)
  • Вопрос задан
  • 2490 просмотров
Решения вопроса 2
@nirvimel
Akka предназначен в первою очередь для борьбы с проблемами, связанными со сложной логикой в многопоточном коде (всякие deadlocks, race conditions).

сложен ли в освоении?

Сколько времени у вас обычно занимает изучение отдельного языка программирования? Примерно столько может потребовать изучение Scala для тех, кто пришел не с Java. Для тех кто пришел с Java - примерно 2/3 от этого времени.
Akka это клон модели акторов Erlang, соответственно, для знакомых с ней, изучение akka потребует чуть больше чем ноль минут. Для тех кто намучился с java concurrency (отчасти справедливо и для .net), акторы - как бальзам на душу, хоть и незнакомая концепция, но воспринимается очень легко (еще бы, после java concurrency!). Для тех, кто писал в основном однопоточный код, акторы (вместо прямого вызова функций) - нечто совершенно новое, своеобразно, непривычное.

применяется ли он в продакшене?

На странице поищите SELECTION OF PRODUCTION USERS.
Ответ написан
Комментировать
angrySCV
@angrySCV
machine learning, programming, startuping
в продакшене очень даже применяется.
с акка можно работать и через C# (akka.net), хотя конечно познать scala тоже полезно - прекрасный язык.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@thenno
Проектирую, разрабатываю, преподаю.
Продакшен успешно пишут, вот например: habrahabr.ru/company/yandex/blog/239823/. Проект в чем-то похожий - клиент отправляет данные, сервер записывает их в Apach Kafka и потом оттуда раздает.
Для общения по HTTP лучше всего смотреть в сторону Spray, он достаточно простой и удобный.

А вот на вопросы "стоит ли" и "сложный ли в изучении" в общем случае ответить нельзя. Если есть время и желание - почему бы нет. Scala прекрасна:)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы