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 декабря.

Хотите сообщить важную новость? Пишите в Телеграм-бот.

А также подписывайтесь на наш Телеграм-канал.

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

Gismart Online Meetup
9 декабря

Gismart Online Meetup

Минск

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

55% скидка на курс «Fullstack-разработчик на JavaScript»
55% скидка на курс «Fullstack-разработчик на JavaScript»
55% скидка на курс «Fullstack-разработчик на JavaScript»
27 ноября начинается онлайн-курс для тех, кто хочет освоить веб-разработку с нуля.
Кто такой Site Builder. Обзор изнутри от Александра Пожаренко
Кто такой Site Builder. Обзор изнутри от Александра Пожаренко
Кто такой Site Builder. Обзор изнутри от Александра Пожаренко
Про профессию рассказывает CFO Александр Пожаренко из ib.by. Продолжаем цикл материалов про ИТ-специальности. Каждую описывает «типичный представитель» — опытный специалист и просто авторитетный коллега, тот самый человек, который знает все тайные уголки своей профессии. Мы надеемся, эти материалы помогут школьникам, студентам, переквалификантам, джуниорам и всем тем, кто заинтересован в выборе ИТ-специальности. Цикл не только поможет оценить перспективы, но и даст возможность лучше понять индустрию и особенности профессии изнутри. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его еще полезней.
7 комментариев
Появилась инициатива, которая научит пенсионеров читать новости в интернете
Появилась инициатива, которая научит пенсионеров читать новости в интернете
Появилась инициатива, которая научит пенсионеров читать новости в интернете
10 крутых онлайн-курсов с сертификатами по digital-маркетингу
10 крутых онлайн-курсов с сертификатами по digital-маркетингу
10 крутых онлайн-курсов с сертификатами по digital-маркетингу
Модели работы и тенденции в маркетинге меняются со скоростью света. В помощь вашему профессиональному росту Digitaldefynd сделал подборку лучших программ и тренингов в сфере маркетинга за 2020 год. Проходить их можно в комфортном для вас темпе. 

Обсуждение

2

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

1

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

Siarhei Halip
Siarhei Halip Senior Java Developer в BelitSoft
1

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

3

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

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

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

1

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

Anonymous
Anonymous
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 про белорусское ИТ

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