Да, наша таблица сравнения языков во многом шутка.Особенно строка «Не Лисп».:)
Как отметил Стивен С. из моего первоначального поста, Gosu в целом проще, чем Scala, тогда как Scala обладает более продвинутыми функциями, чем Gosu.
Scala и Gosu имеют много общего:
Оба имеют статическую типизацию, но используют вывод типов для уменьшения размаха кода
Оба поддерживают замыкания и более функциональное программирование
Оба предоставляют дополнительные функциональные возможности поверх существующих библиотек Java, особенно в отношении коллекций.
ИВот некоторые различия:
Gosu не поддерживает общую перегрузку операторов
Gosu не обеспечивает синтаксическую поддержку монад
Обобщения в Gosu на проще , чем в Java (ценой корректности), где они более (или, по крайней мере, так же) сложны в Scala (хотя Scala делает правильную работу намного лучше.)
Gosu не поддерживает такие вещи, как неявный аргумент Scala '_' в замыканиях: он более явный в подобных случаях.
Расширения Gosu для ядра Java JavaРис менее драматичен.Мы свариваем дополнительные методы с существующими типами Java, а не вводим новую иерархию типов.
Существует одна большая разница между Gosu и Scala на функциональной стороне: Gosuимеет то, что мы называем системой открытого типа.Это позволяет людям подключать произвольные ресурсы к компилятору Gosu.Как пример: Gosu (по состоянию на 0.8.5) поддерживает файлы XSD и WSDL в качестве граждан первого класса:
http://lazygosu.org/xml.html
Система открытого типа с функциональнойнастоящее различие между Gosu и другими статически типизированными языками JVM.
Все, что говорится, печальная реальность сейчас заключается в том, что Scala намного более зрел, чем Gosu в некоторых областях, особенно в инструментальной.Scala имеет отличную поддержку IDE во всех основных IDE.У нас есть плагин Eclipse для Gosu, но он все еще находится в зачаточном состоянии.Точно так же наш плагин IntelliJ очень новый.
Scala имеет очень полный веб-фреймворк, Lift.Я не большой поклонник их подхода, но он завершен и многим нравится.
У Gosu также есть веб-фреймворк:
http://ronin -web.org
Мне нравится подход Ронина, но тогда я бы не сталне так ли?Ronin создается парнями, которые очень хорошо знают Gosu, и поэтому в нем много функциональности в языке.
Надеюсь, это поможет.Реально, если бы я начинал проект сегодня, я бы, вероятно, пошел с Scala только из-за поддержки инструментов.Однако, если вы хотите выйти в другом направлении, особенно если ваш проект связан с веб-сервисами или обработкой XSD, Gosu может быть полезным языком для использования.В долгосрочной перспективе я надеюсь, что Gosu станет прагматичным выбором для разработчиков JVM, но только время покажет.