LINUX.ORG.RU

Tcl 8.6 VS Tcl 9.0 VS Rebol3 VS Lisp

 , , , ,


1

5

Пятничный тред, давайте поговорим о трех упоротых по синтаксису, но очень мощных языках - 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 (не говоря уже о куче батареек, причем рабочих). Функционален. Макры прекрасны. Стандарт - компактен и причесан.

Встает вопрос - что перспективнее из представленного? Что стоит учить «для себя» и для использования в домашних проектах? Что может стать мейнстримом индустрии и может ли вообще?

Ответ на: комментарий от makoven

Да не ужели...Посмотрите на CPAN, на количество батареек Python, на количество библиотек Tcl/Tk. Есть библиотеки, второй вопрос - java проще. На ней быдлоколдить все пАцаны с района умеют, как некогда на VB.

silver-bullet-bfg ★★ ()

Что стоит учить «для себя» и для использования в домашних проектах?

То, что интересно.

Что может стать мейнстримом индустрии и может ли вообще?

Только что-то совсем новое.

olibjerd ★★★★★ ()
Ответ на: комментарий от olibjerd

Не новое, а то что эффективно. Наиболее эффективное из предложенного Rebol3.

60 Кб - виртульная машина Rebol. И весь мир у ваших ног.

gygabiteman ()
Ответ на: комментарий от olibjerd

Не представляю, какая может быть серебряная пуля из скриптового языка.

Tcl давно компилируется в бакт-код так-то. Tcl с версии 8.0 уже не просто скриптовый язык.

То, что интересно.

И писать домашний проект до ишачьей пасхи

Только что-то совсем новое.

Пример можно? Вы про Go, Newspeak, Factor?

silver-bullet-bfg ★★ ()

Что стоит учить «для себя» и для использования в домашних проектах?

для себя можешь учить всё

Что может стать мейнстримом индустрии и может ли вообще?

из вышеперечисленного - к сожалению ничего(и не потому что такие уж плохие, недостатки есть, да, но достоинств тоже куча)

lazyklimm ★★★★★ ()
Ответ на: комментарий от silver-bullet-bfg

Байт-код — это совсем не то.

Пример можно? Вы про Go, Newspeak, Factor?

Го вполне может взлететь, а фактор вряд ли.

olibjerd ★★★★★ ()

Встает вопрос - что перспективнее из представленного? Что стоит учить «для себя» и для использования в домашних проектах? Что может стать мейнстримом индустрии и может ли вообще?

Быдлокодерские вопросы. Настоящий программист подбирает набор инструментов для задачи из всего доступного арсенала.

anonymous ()
Ответ на: комментарий от olibjerd

Байт-код — это совсем не то.

JVM так же байткод. Объясни разницу? Может Java тоже скриптовый язык?))) Ну или C#, он тоже может применяться как скриптота.

Го вполне может взлететь, а фактор вряд ли.

При поддержке Google - не удивительно

silver-bullet-bfg ★★ ()
Ответ на: комментарий от silver-bullet-bfg

Никогда не писал на java. Но таки для нее куча батареек. В том числе для текущего проекта. Поэтому выбрал clojure. Было бы столько батареек для CL — писал бы на нем. А perl, python и tcl меня как-то не вдохновляют (хотя на питоне пишу всякие скрипты иногда).

feofan ★★★★★ ()
Последнее исправление: feofan (всего исправлений: 1)
Ответ на: комментарий от olibjerd

Почему? Виртуальная машина дает максимальную портабельность и может применяться везде, где нет необходимости лезть на ассемблерный уровень

silver-bullet-bfg ★★ ()
Ответ на: комментарий от silver-bullet-bfg

может применяться везде, где нет необходимости лезть на ассемблерный уровень

Тогда это не серебряная пуля. Это (вполне хорошая) платформа для написания различных приложений, но не для системного программирования.

olibjerd ★★★★★ ()
Ответ на: комментарий от antares0

А список для пректа можно?

Наверное, Web и GUI. Какие там еще могут быть батарейки.

Все нормальные библиотеки написаны на C. И из CL ими пользоваться легко и просто.

anonymous ()
Ответ на: комментарий от silver-bullet-bfg

А явовские батарейки используются в родном для кложуры синтаксисе. И даже, внезапно, при последовательном вызове методов явы скобок получается меньше, чем на самой яве =)

feofan ★★★★★ ()
Ответ на: комментарий от silver-bullet-bfg

Берем блю-бук и читаем, там описаны все идеи ООП.

Читал? Зацитируй, которые врезались в память. И которых нет в CLOS.

antares0 ★★★★ ()

Для статики есть Java и C++. Для динамики есть PHP. Все остальное не нужно и давно пора закопать.

anonymous ()
Ответ на: комментарий от feofan

Я пока не готов его открывать.

В смысле список явовских батареек потребовавшихся для него - сам по себе тайна коммерческая?

antares0 ★★★★ ()
Последнее исправление: antares0 (всего исправлений: 1)
Ответ на: комментарий от antares0

Пока так. Очень уж идея спорная и амбициозная. А реализация еще только начинается.

feofan ★★★★★ ()
Ответ на: комментарий от silver-bullet-bfg

Хотя бы «общение» объектов через передачу сообщений

Я все таки наделся что там больше откровений. А это слишком ожидаемо.

antares0 ★★★★ ()
Ответ на: комментарий от silver-bullet-bfg

Да кто ж меня-то спрашивает, что оставить? Популярные, грамотно спроектированные языки и без моего скромного мнения останутся, а заумная бесполезная маргинальщина сама собой подохнет. Все честно.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.