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