Плюсы и минусы Scala
Когда Scala создавался, разработчики предполагали, что он станет преемником языка Java, для чего были предпосылки. И правда -- Scala наследует довольно много плюсов Java, а еще и работает по схожим принципам, ну и, разумеется, добавляет нечто свое. Однако по ряду причин преемником Java язык Scala не стал. Чтобы разобраться почему, давайте рассмотрим, каковы достоинства и недостатки этого языка.
Преимущества
Как и Java, язык программирования Scala работает под виртуальной машиной JVM — прослойкой между железом и ПО. Благодаря наличию JVM вы можете исполнить тот же самый код на разных устройствах: компьютере, терминале оплаты и т. п. Таким образом, разработчик пишет лишь интерфейс и логику. Из вышесказанного вытекают следующие плюсы:
- Scala совместим с командами Java. Знаете Java? Вы относительно быстро сможете перейти на Scala.
- Scala способен работать с любым Java-кодом вне зависимости от его сложности.
- Язык характеризуется чистой объектно-ориентированностью -- даже сама программа является одним большим объектом.
- Существуют мощные механизмы абстракции, позволяющие относительно просто разрабатывать как большие, так и маленькие системы, плюс еще и масштабировать их.
- В языке объединяются 2 подхода: объектно-ориентированный и функциональный.
Недостатки
Естественно, не так уж все идеально, иначе про язык Java уже давно бы забыли. Скажем так, вакансий по Java на рынке труда заметно больше, чем по Scala. И это неспроста:
- считается, то разрабатывать на Scala несколько сложнее, если сравнивать с Java -- все из-за существенного влияния ООП (очень многое надо делать через объекты, что не всегда достаточно удобно);
- сложнее не только писать на Scala, но и читать Scala-код;
- компиляция является более медленной, что плохо в случае больших проектов;
- разработка на Scala потребует от вас несколько иного подхода к логике и архитектуре построения программного кода.
Тем не менее Scala прочно занял свою нишу в современной разработке и программисты, владеющие этим языком, чувствуют себя весьма неплохо. А это значит, что сконцентрироваться на переход в данную технологию при соответствующих обстоятельствах является вполне себе целесообразным и оправданным решением.