5 июля 2019 · Комментарий

Без заголовка

Язык обычно сложен из-за того что они там формальные системы используют (конечно могут быть и другие источники сложности, есть ведь Perl или даже, прости господи, brainfuck :)). Опять же пример Скала/Хаскел. Когда в Жаба добавили generics, то она тоже посложнее стала. Посему, хотя я конкретно с Ruby плохо знаком, но он мне видится как очень хороший вариант :). Имеется в виду что очень выразительный язык, и не переусложненный. Я просто в основном в Жаба мире обитаю (хотя сейчас больше Питон, но это из-за МЛ), и мне как очень удачные языки видятся Groovie, Kotlin, Xtend, ну и Scala в какой-то мере (хотя все же сложновато). Условно говоря, я не то чтобы жуткий фанат eDSL, обычно через некоторое время приходишь к мысли, что все равно весь этот удобный синтаксис оттранслируется внутри в какие-то библиотечные вызовы. Ну и наверное проще и лучше иметь хорошую библиотечку, а удачный eDSL сверху может помогать, может быть привлекателен для неискушенной публики, но в целом, особой роли не играет. Т.е. я согласен насчет leaky abstraction - она скорее всего протечет, так что все равно надо иметь дело с хост-языком, и лучше чтобы это был удобный и выразительный язык. ИМХО, тут рулит комбинация функционального, ОО и императивного программирования (чтобы все-таки можно было иногда переменные апдейтить). Т.е. Питон прикольно но функционалки не хватает. Скала - круто, но по мне все же сложновато. Котлин - судя по всему в самый раз. Руби - очень близко к идеалу, но немного в стороне от меня :). Там еще вроде многопроцессорные реализации появились, всякие там JIT.

К записи · К обсуждению