Set(Scala, Java, JavaScript, Python, `C#`).maxBy(_.fun) == Scala. Разработчики объясняют в 7 пунктах, почему

10 комментариев
Set(Scala, Java, JavaScript, Python, `C#`).maxBy(_.fun) == Scala. Разработчики объясняют в 7 пунктах, почему

Когда-то на рынке говорили о Python-парадоксе — Google интервьюировала Java, C и прочих программистов и требовала от них знания Python, таким образом отбирая тех, кто развивается, смотрит по сторонам, заинтересован в чём-то ещё, кроме основной сферы деятельности. То же самое сейчас со Scala: если компания выбирает этот язык, значит она хочет найти действительно крутых разработчиков.

«Жизнь слишком коротка, чтобы всё время писать на Java», — заявляют Scala-девелоперы. И аргументируют.

1. Scala позволяет писать хороший код с меньшим количеством ошибок: компилятор тщательнее проверяет код, что позволяет увереннее его рефакторить. Функциональное программирование в принципе сфокусировано на тех практиках, которые делают код более простым для понимания и поддерживаемым, потому что чистые функции и неизменяемые данные легче понять и отладить. Можно сказать, это тренд во многих языках программирования таких, как TypeScript и Java. Но в Scala эти практики реализуются на уровне языка. 

2. Scala делает разработчиков счастливыми. В языке хорошая система типов и поддержка функциональной парадигмы плюс живое комьюнити, совместимость с Java-экосистемой и появление новых подходов и собственных библиотек каждый год. Перейти на Scala стоит, чтобы снова получать удовольствие от своей работы. Жизнь слишком коротка, чтобы всё время писать на Java.  Если разработчики переходят на Scala, чаще всего они на этом языке и остаются. Случается, скалисты мигрируют на Haskell или Rust, но в Java возвращаются крайне редко — к возможности писать элегантный код, как и ко всему хорошему в принципе, быстро привыкаешь. Scala позволяет изучать не только язык, но и всю обширную экосистему, поэтому разработчикам не бывает скучно. В Scala-библиотеках есть куда развиваться и расти, а значит быть вознаграждённым: полезные знания хорошо оплачиваются.

3. Scala — один их самых популярных коммерческих языков, который используют, например, в распределённых системах. На Scala написан весь игровой бэкенд Evolution Gaming, его заслуженно любят «Тинькофф Банк», LinkedIn, Twitter, Netflix и Epic Games (Fortnite). Scala также может использоваться для фронтенда в виде Scala.js, который транслируется в JavaScript.

По теме
Все материалы по теме

4. Мигрировать на Scala с Java или TypeScript не так тяжело, как кажется. О том, что Scala — язык сложный, говорят те, кто никогда не пробовал на нём писать. Не обязательно глубоко понимать внутреннее устройство используемых библиотек, чтобы начать разработку на Scala. Это как с машиной: можно не разбираться, как она работает, но комфортно ездить. Всегда можно начать со Scala  как с «лучшей Java», а затем внедрять в свой код элементы функционального программирования. 

5. Scala работает на JVM, используя тем самым многолетний опыт её разработчиков. Благодаря этому скорость работы кода на Scala практически аналогична скорости кода на Java. Многие распространённые в JVM-мире библиотеки написаны на Scala (например, Akka и Spark), и проще всего их использовать именно из Scala-кода. 

6. Scala тоже критикуют. Например, за медленную компиляцию, которая благодаря последним улучшениям перестала быть проблемой. Да, компилятор по-прежнему медленнее, чем в Java, потому что делает больше работы и не даст собрать проект, пока не будут исправлены все ошибки, но это точно не головная боль. Также на Scala больше сложностей для написания проектов для Android, потому что эта ОС не является высшим приоритетом для Scala. Но при этом существуют проекты, позволяющие компилировать код на Scala вместо Java байт-кода в машинный код (Scala Native) и JavaScript (Scala.js), а также использовать библиотеки этих экосистем.

7. В целом Scala — язык с относительно высоким порогом входа. Некоторые сдаются, пытаясь изучить Scala и сталкиваясь со сложными для понимания библиотеками, но нет ничего невозможного. Для этого есть книги (1, 2, 3, 4, 5), курсы и Scala-школа, которую запускает продуктовая компания  Evolution Gaming. Трехмесячное обучение — бесплатное, опыт программирования на Scala не обязателен, но знание одного из фундаментальных языков программирования будет плюсом. Лучшим выпускникам предложат работу в Evolution Gaming. 

Остались сомнения? Приходите на Scala Meetup 3 декабря.

Хотите сообщить важную новость?

Пишите в наш Телеграм

Горячие события

Конкурс EY Entrepreneur Of The Year 2020
31 мая

Конкурс EY Entrepreneur Of The Year 2020

EMERGE 2020
1 июня — 3 июня

EMERGE 2020

Вебинар «Советы от рекрутеров: как найти квалифицированную работу в Европе»
4 июня

Вебинар «Советы от рекрутеров: как найти квалифицированную работу в Европе»

Читайте также

«Никаких обещаний». EPAM и студенты лабы о (не)трудоустройстве в кризис
«Никаких обещаний». EPAM и студенты лабы о (не)трудоустройстве в кризис

«Никаких обещаний». EPAM и студенты лабы о (не)трудоустройстве в кризис

В середине апреля в редакцию dev.by поступило сообщение, что выпускники EPAM DevOps Lab в Минске после трёх месяцев на вечерних курсах и трёх с половиной в учебной лаборатории «пойдут на все четыре стороны, только не в компанию» — компания, мол, остановила найм выпускников. Это при том, что в другие годы трудоустройство получали 80% закончивших курс. Другие ученики лабы подтвердили dev.by, что в начале апреля всей группе девопсов на голосовом митинге объявили, что никого в штат взять не смогут. Мы поговорили с выпускниками и с представителями EPAM о том, что произошло и когда студенты могут рассчитывать на трудоустройство.
61 комментарий
Netflix открыла код интерактивной среды вычислений Polynote
Netflix открыла код интерактивной среды вычислений Polynote

Netflix открыла код интерактивной среды вычислений Polynote

«Студент правильно сделает, если возьмётся за изучение Scala». Руководитель Scala-разработки Evolution Gaming — о редком языке программирования
«Студент правильно сделает, если возьмётся за изучение Scala». Руководитель Scala-разработки Evolution Gaming — о редком языке программирования

«Студент правильно сделает, если возьмётся за изучение Scala». Руководитель Scala-разработки Evolution Gaming — о редком языке программирования

15 комментариев
Тим Кук: «У половины сотрудников Apple нет диплома. Мы очень гордимся этим»
Тим Кук: «У половины сотрудников Apple нет диплома. Мы очень гордимся этим»

Тим Кук: «У половины сотрудников Apple нет диплома. Мы очень гордимся этим»

5 комментариев

Обсуждение

2

Жаль только работы на скале как кот наплакал. Ну и если честно - если не юзаешь pure fp, то не так много профита.

1

Это вы еще Kotlin не пробовали!

1

В 2004 был Python-парадокс, в 2009 - Scala-парадокс, а какой язык сейчас находится на пике прогресса? Или в Минск мировые тренды приходят 10 лет спустя?

3

Питон вернулся. Весь data science сейчас на нем. Джава тоже из энтерпрайза никуда не ушла. Просто никто уже не пытается делать на одном языке или платформе все подряд. Каждый язык занял свою нишу. Скала тоже обычно неразрывно связана с big data

Алексей Синкевич
Алексей Синкевич Senior Developer в Adform BY
4

Никогда в Google не интервьюировали на знания конкретных языков.

1

Да вроде ж лет 5-10 назад был пик её популярности и сошёл уже. Сейчас все модные хипстеры на котлине/расте/го пишут.

0

го интервью про скала на канале! чирканите мне в телеге, скалAлазы :) @iamitbeard

2

Вот источник «парадокса Питона»: http://www.paulgraham.com/pypar.html

А скала - прожила свой век неплохо, ФП язык, который хорошо выбился в продакшн. Сейчас потихоньку теряет популярность, хотя планируются интересные фичи и улучшения в Scala 3. Из ФП языков, по которым можно найти работу в крупных городах - Elixir, приятный, непереусложненный, с OTP под капотом и метапрограммированием. Clojure иногда. Изредка мелькает Haskell.

Популярны или подрастают языки, прагматично взявшие какие-то ФП фичи, без фанатизма - Rust, Swift, Julia.

Языки приходят и уходят, со своими наборами фич, парадигм и библиотек. Суета сует, и нет ей начала и нет ей конца... Только святой Lisp и его учения вечны в своей бесконечной мощности и выразительности. Его земные воплощения в виде Common Lisp, Scheme, Clojure, Guile, итд. просветлили и осчастливили не одно поколение программистов.

0

Пока spark цветет и пахнет, будет жить и скала. Пока вроде нету слухов о переносе спарка на что-то другое.

2

Как человек в стартапе со скалой буду честен - ну его нафик! Посмотреть - потыкаться интересно, но не более. И все в команде единодушны кроме одного человека, который придумал это чудо написать на скале в самом начале. Зато платят хорошо - так бы вообще никого не нашёл бы на проект.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже