понимание списка, для понимания.
например в Java вы пишете:
int myVar;
if (condition) {
myVar = //some value
}
else {
myVar = //some other value
}
В Scala, тот же код, гораздо более элегантно написан (как Python), как:
int myVar = (//some value) if (condition) else // other value;
и сделано.
В Scala столько всего, что в Java нет. Там просто нет сравнения вообще. Единственная проблема заключается в том, что люди более знакомы с Java (б / у, это то, чему они учат на уроках CS) и еще не настолько хорошо разбираются в парадигме Scala.
У Scala есть хвостовая рекурсия, она может возвращать кортежи (что-то, что может появиться в Java 8, я думаю).
Это не сравнение. Scala был разработан Мартином Ордски, который работал в основной команде Java Generics.
Скала - это просто превосходный язык. Это все, что нужно сделать. Люди, которые говорят иначе, просто недостаточно изучили Scala, чтобы лучше узнать.
Выше я хотел сказать оптимизацию хвостовой рекурсии (что JVM не может сделать так, как это делает компилятор Scala).
Scala также компилируется и работает быстрее, чем приложения JVM (да, это правда). Не говоря уже о рамках. Например, мы используем Tomcat и развертываем несколько сервлетов для обработки REST.
Tomcat не может сделать одну вещь - асинхронные операции, требующие неблокирующего ввода-вывода. Для этого разработчики JAVA обычно изобретают обходной путь, используя очередь сообщений (отправляют сообщение в очередь, и какой-то другой процесс или поток получает его и делает все, что вы хотите в фоновом режиме).
К сожалению, этот метод - cr * p, и он взломал ограничения развертывания Java-сервлетов на Tomcat.
Иди проверь акка + спрей. В ней используются акторы scala (актеры похожи на потоки, за исключением того, что они могут общаться только через сообщения).
И все сделано, асинхронные вызовы REST стали проще. Длительная фоновая задача? Нет проблем. Просто запустите и забудьте, и проведите REST-опрос, чтобы периодически проверять его состояние в интерфейсе.
Если вы все еще используете Java и думаете, что это лучше, чем scala, вы можете также прекратить использовать компьютер для набора текста и вернуться к временам перьевых ручек и написания при свечах. Java в основном допотопный по сравнению со Scala.