Скала не так уж сложна, но вот, например, добивает подход к написанию библиотек на имплиситах. Сложно разбираться в коде. Макросы, используемые в коде sbt — это вообще что-то запредельное. Очень бесит то, что нужно собирать библиотеки с поддержкой разных версий Scala (почему 2.10 несовместима с 2.11 ?!!!). В общем местами кажется, что ребята идут не по правильному пути.
Пробовал его, года два назад. Приложение до сих пор стоит в продакшне. Сам фреймворк нормальный, но смущает несколько вещей:
1) Редко обновляется (последний релиз больше чем полгода назад).
2) Много боли и геморроя с sbt
3) Шаблонизатор по-умолчанию Scalate имеет очень неприятные баги и не совсем интуитивен. Кроме того шаблоны нужно компилировать, а это дополнительное время.
4) Для базы данных пробовал Slick — интересный фреймворк, но на тот момент он был сыроват и не везде интуитивен.
В общем Scala — это как раз один из тех случаев, когда распространению крутого языка мешает его чрезмерная крутость (т.е. сложность) и отсутствие сопоставимой хотя бы с Java инфраструктуры разработки.
Если вы живете в Питере, то ответ на вопрос из заголовка статьи в 3 предложения такой:
СПбГУ МатМех
ИТМО ФИТП
Политех ФТК
С этих 3 факультетов у вас есть большие шансы попасть на работу стажером в известные компании, такие как Яндекс, ВКонтакте, Jetbrains и т.п Быть может есть и другие факультеты.
На самом деле выбор этого божественного языка не так сложен — язык без экосистемы (библиотек, инструментов, сообщества разработчиков и т.п.) имеет мало смысла. А языки с действительно развитыми экосистемами можно пересчитать по пальцам, возможно рук и ног, но по пальцам.
А не будет боевой сервер стреляться с высоким load average, если столько хэшей считать? Кажется, что современные диски дешевле, чем процессоры и память.
Я в свое время интересовался тематикой тестирования JavaFX приложений и мне показалось, что TestFX — это треш, а не фреймворк. Я написал небольшой прототип того, что я считал бы более удобным решением. В итоге я перестал работать с JavaFX, но прототип остался. Ссылки:
Если я не ошибаюсь, то Nginx в бесплатной версии не умеет делать активную балансировку, т.е. если реплика завалилась, то пользователь это увидит с определенной вероятностью.
Пакеты собираются обычными средствами сборки Debian пакетов, а вот бинарное содержимое пакетов должно быть собрано под каждую платформу по отдельности. Мы правда собирали Java код, поэтому нам все равно.
1) Редко обновляется (последний релиз больше чем полгода назад).
2) Много боли и геморроя с sbt
3) Шаблонизатор по-умолчанию Scalate имеет очень неприятные баги и не совсем интуитивен. Кроме того шаблоны нужно компилировать, а это дополнительное время.
4) Для базы данных пробовал Slick — интересный фреймворк, но на тот момент он был сыроват и не везде интуитивен.
В общем Scala — это как раз один из тех случаев, когда распространению крутого языка мешает его чрезмерная крутость (т.е. сложность) и отсутствие сопоставимой хотя бы с Java инфраструктуры разработки.
С этих 3 факультетов у вас есть большие шансы попасть на работу стажером в известные компании, такие как Яндекс, ВКонтакте, Jetbrains и т.п Быть может есть и другие факультеты.
Посмотрите, быть может кто-то сделал бы из этого полноценную библиотеку.