Методы экземпляров типов значений не могут изменять свойства типа значения (или самого значения), если они не помечены как mutating
.
Функции любого вида не могут изменять свои параметры (и имеют распространение распространяется за пределы функции), если эти параметры не отмечены как inout
.
Они делают похожую работу, но в разных контекстах.
Я думал об использовании Scala в моем проекте (торговое программное обеспечение сервера — мне особенно нравится его модель агента Erlang-стиля), но у Scala все еще есть некоторые проблемы производительности (я надеюсь, что они скоро зафиксируют его). Иначе это хорошо (получение достойной поддержки IDE в ИДЕЕ IntelliJ).
Я повторно реализовал жизненно важные части модели агента Scala в Java, все же.Работает.
Я немного поиграл с этим, но не нашел подходящего варианта в нашем программном обеспечении (материал для бизнес-процессов внутреннего использования). Я мог видеть, что это, возможно, хорошо вписывается в научное сообщество.
Нет.
Когда я посмотрел на него в прошлый раз, когда поддержка не была то, где мне был нужен он, чтобы быть для некоторого проекта реального мира:
Я не думаю, что это в настоящее время - ответственное решение относительно клиента и коллег, для использования Scala. Крошечная библиотека, которая могла легко быть заменена отличным или Java, если вещи становятся ужасными, могла бы быть исключением.
Хотя мне действительно нравится комбинация функций в Scala, это, кажется, не получает тягу реального мира.
Поддержка IDE @Jens Schauder Scala резко возросла с тех пор, как вы в последний раз смотрели. Недавно мы проверили поддержку Eclipse, и плагин оказался потрясающим - он установился и работал без сбоев.
Я бы посоветовал вам попробовать еще раз и оставить здесь или где-нибудь еще комментарий о вашем опыте. Фактически, мы только что закончили проект, основанный на Scala - я должен признать, что это был опыт, но оно того стоило.
Мой совет: установите плагин для IDE по вашему выбору и возьмите небольшой некритический проект, чтобы опробовать его в гневе.
Удачи :)
Ну, недавно я посмотрел на язык программирования Scala, и мои впечатления были очень похожи на те, что у меня были от других языков функционального программирования. Scala кое-что делает очень хорошо, но это не значит, что я бы выбрал его в качестве основного языка программирования в проекте. Он краток и хорош для параллелизма, поэтому я хотел бы использовать его для реализации той части проекта, где он подходит.
Например, возьмем Twitter. У них были проблемы с масштабируемостью, потому что их очередь сообщений в Ruby не могла обеспечить им требуемую пропускную способность - основная причина заключалась в том, как потоки реализованы в Ruby и его GC. Очень хорошее интервью для чтения: http://www.artima.com/scalazine/articles/twitter_on_scala.html .