Пятничный тред, давайте поговорим о трех упоротых по синтаксису, но очень мощных языках - Tcl (версии 8.6, и разрабатываемая сейчас 9.0), Rebol3 (Saphirion) и Lisp (Common Lisp, Racket). Собственно вопрос - что более жизнеспособно и перспективно сегодня?
Tcl - мощный язык с кучей библиотек, который развивается уже долгое время, имеет прекрасные возможности взаимодействия с Си, мощные системы ООП и меттапрограммирования, постепенно обрастает функциональщиной. Версия 8.6 внесла очень много хорошего в язык. Версия 9.0 обещает сделать из него чуть ли не «серебрянную пулю». Синтаксис - чем больше вбирает сахара и возможностей, тем более упоротым становится. Но вот в чем цимес - чем больше пишешь на Tcl, тем более убогим кажутся другие языки с их жестким синтаксисом. А синтаксис тикля - понимается с первого взгляда.
Rebol3 - полумертвый проект, но по перспективности...это просто нечто. Язык - прямое развитие идей Lisp и Tcl. Все есть данные. Даже переменные носят абсолютно уникальные типа. На Rebol3 можно писать максимально портабельные приложения, скорость приемлема. Очень мощное метапрограммирование. DSL пишутся с пол пинка...По сути весь Rebol3 Core - это язык для написания DSL для всего остального. Разработчик языка от него отказался...и сделал проект открытым (сейчас Карл изредка делает маленькие патчи, очень редко). Зато появились два мощнейших проекта - Bazaar Rebol3 (открытое сообщество) и Saphirion Rebol3 (вместе с GUI, коммерческая реализация). Последний - инструмент разработки компании Saphirion. Мейнтейнят под себя. Скоро будет версия для Android.
Common Lisp - промышленный стандарт лиспа. Куча скобок, куча полурабочих батареек. И сложность over9000, если писать с использованием всех возможностей языка и правильно. Не гигиенические макры, ФП почти никакое. ООП - спорное, CLOS своеобразен. Очень. Коммерческие реализации работают прекрасно, а свободные - АдЪ с библиотеками.
Racket - Scheme на стероидах. Прекрасная замена всему, что можно придумать. Мощный язык, даже со своей подсистемой GUI (не говоря уже о куче батареек, причем рабочих). Функционален. Макры прекрасны. Стандарт - компактен и причесан.
Встает вопрос - что перспективнее из представленного? Что стоит учить «для себя» и для использования в домашних проектах? Что может стать мейнстримом индустрии и может ли вообще?
common lisp, lisp, racket, rebol3, tcl