LINUX.ORG.RU

Lisp, Haskell, Smalltalk, Forth... что дальше?


1

0

Навеяно предыдущей темой.

Последнее время совершенно отчетливо прослеживается, как маргинальные языки передают друг другу олимпийский факел, в смысле их популярности на ЛОРе.

Факел был когда-то зажжен незабвенным Проффессором Луговскером, и достался он лиспу. Прошло несколько лет, и теперь даже самый распоследний нубас на ЛОРе расскажет вам про REPL, метапрограммирование, квазиквотацию, eval, Slime и про жаба-monkey-кодеров. Лисп стал популярен на ЛОРе, и утратил позиции «элитного» языка, дискутировать о котором могли единицы.

Ниша долго не пустовала. Некоторое время факел находился у Haskell, а последние месяцы его гордо несет Smalltalk (я сужу исключительно по количеству новостей и дискуссий о нем). Но теперь завзятые маргинальщики начинают интересоваться Forth'ом, из чего я делаю вывод о том, что факел Smalltalk'а начал коптить, в силу его популяризации на ЛОРе.

Предлагаю коллективно поразмыслить над тем, какой язык мог бы принять эстафету у Форта. Из маргинальных неэзотерических языков осталось не так уж и много. Clean? Pure? Factor?

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

> ну значит на ЛОРе последних явно большинство

Во-первых, их на ЛОРе вообще хватает. А во-вторых, о «лиспе» вцелом говорят обычно тролли-антилисперы. Ты им про CL, а они тебе LISP. Троллей больше и слово «лисп» встречается чаще.

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

> вы предлагаете народу поверить вам, хотя люди должны сами экспериментировать с разными языками и приходить к своим выводам по поводу применимости

Жизни не хватит на это. Так что пусть экспериментируют с нормальными, статически типизированными языками, у которых более-менее человеческий синтаксис %)

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

> А во-вторых, о «лиспе» вцелом говорят обычно тролли-антилисперы. Ты им про CL, а они тебе LISP.

http://www.linux.org.ru/jump-message.jsp?msgid=4858574&cid=4859106
http://www.linux.org.ru/jump-message.jsp?msgid=4911022&cid=4922384
http://www.linux.org.ru/jump-message.jsp?msgid=4911022&cid=4922257
http://www.linux.org.ru/jump-message.jsp?msgid=4607903&cid=4620145
http://www.linux.org.ru/jump-message.jsp?msgid=4607903&cid=4616587
и т.д. и т.п.

вы тролль-антилиспер?

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

Вы сами то эти посты читали? Я использую слово «лисп» когда совсем рядом стоит CL, так что однозначно понятно идёт речь. В других постах вообще шёл пустой трёп на философские темы.

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

> Ты про хаскелль чтоль ;)

Не, Хаскель - это пример того, что для получения угребищного синтаксиса не обязательно месить овсянку с обрезками ногтей %) Я про семейство ML, про Scala, и, для эталонного небыдла^W^W Ъ-эстета - Nemerle.

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

> Вы сами то эти посты читали?

читал - но выбирал из первых попавшихся

В других постах вообще шёл пустой трёп на философские темы.


так и запишем - когда archimag пишет про «литературу по лисп», «какой-либо пример кода на лиспе» и т.п., то это просто пустой треп

ahonimous
()
Ответ на: комментарий от tailgunner

т.е., кроме статически типизированных никто не имеет права на жизнь? интересный посыл, в свете популярности всяких питонов и т.п.

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

> Ну так бы и говорили, что вы против всех языков с динамической типизацией, типа Python, JavaScript, CL и т.п.

Ну я всегда говорил, что ненавижу все динамически типизированные языки скопом. Просто из этих языков, Лисп - самый мифологизированный, и его фанбои такие фанбои, что просто грех их не троллить %)

P.S. ага, я специально написал «Лисп» вместо «CL».

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

> т.е., кроме статически типизированных никто не имеет права на жизнь?

В общем, да. При желании можно изобразить динамическую типизацию в статически типизированном языке, но не статическую - в динамически типизированном.

интересный посыл, в свете популярности всяких питонов и т.п.

Он только на поверхности выглядит нелогичным. Главная причина популярности динамических языков - чисто психологическая: после Си++ или Явы писать на Питоне - это удовольствие, потому что не нужно думать о куче нудных деталей. Но избежать этих нудных деталей можно не только динамической типизацией...

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

> Да и за смоллтолкерами я подобной маниакальности не замечал.

man yoghurt

Вы меня с кем-то перепутали! Я с одинаковым успехом для решения своих задач применяю и C++, и Common Lisp, и Smalltalk.

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

А PHP вообще можно сделать из любого статически типизированного языка, где есть хоть какое-нибудь метапрограммирование и строки :)

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

> А что такого эстетского в немерле?

То, что он красивый и заброшенный.

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

пытались сделать лисп, получилось в итоге говно.

Вырезав «C#», получаем мнение лиспофана о любом другом языке.

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

>При желании можно изобразить динамическую типизацию в статически типизированном языке, но не статическую - в динамически типизированном.

это не так. дело во времени вычисления. через вычисления над ast перед компиляцией можно сделать любую систему типов. собственно так это и делают в компиляторах статически типизированных языков.

III
()
Ответ на: комментарий от ahonimous

Сам лично прошел по всем ссылкам.
Все правда: «Я использую слово „лисп“ когда совсем рядом стоит CL, так что однозначно понятно идёт речь. В других постах вообще шёл пустой трёп на философские темы.»

еще от себя добавлю, что: «либо все сборище lisp-диалектов в целом»

oh
()
Ответ на: комментарий от III

>можно сделать

Весь тред ждал этой фразы. В ней сосредоточена вся суть лиспа - «можно сделать». Можно всё, но никто ничего не делает, а только разводит говорильню на форумах, так интересней же.

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

>Можно всё, но никто ничего не делает

gc для C# прототип делали, и для хаскелла прототип делали.

вся суть лиспа - «можно сделать».

это общепринятый способ. лисп там или же нет - не так важно.

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

> Весь тред ждал этой фразы. В ней сосредоточена вся суть лиспа -

«можно сделать». Можно всё, но никто ничего не делает, а только

разводит говорильню на форумах, так интересней же.



Говорите, пожалуйста, за себя. Делают и много. Ну и ещё раз последнюю ссылку: http://www.google.com/press/ita/ .

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

Причем здесь сисярп и хаскель?

это общепринятый способ

Способ чего? Потрепаться, вместо того, чтобы писать программы?

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

> это не так. дело во времени вычисления. через вычисления над ast перед компиляцией можно сделать любую систему типов. собственно так это и делают в компиляторах статически типизированных языков.

Написать транслятор можно на любом полном по Тьюрингу языке. Благо формализовано это все давно. Но в фразе «при желании можно изобразить динамическую типизацию в статически типизированном языке, но не статическую - в динамически типизированном» речь явно не про транслятор шла.

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

> через вычисления над ast перед компиляцией можно сделать любую систему типов.

Капитан, вы?

собственно так это и делают в компиляторах статически типизированных языков.

Ты предлагаешь написать свой компилятор. Я знаю, что лисперам это раз плюнуть, но я-то говорю за обычных быдлокодеров.

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

> т.е., кроме статически типизированных никто не имеет права на жизнь?

Да почему же. Имеют, но только для двух целей: 1) встраиваемого скриптинга, и 2) быстрого прототипирования чего-либо, что потом будет переписано на нормальном статически типизированном языке.

Впрочем, из второй ниши их потихоньку выжимают.

Прототипирование как проверка, хороший ли алгоритм придуман? Математический алгоритм проще проверить в маткаде/матлабе/Sage/etc.
Прототип корпоративной информационной системы или вебсайта? С появлением Java EE 6 (в т.ч. «web profile») быстрее и удобнее писать сразу на Java.
Прототип десктопного приложения? Опять-таки, тут удобнее сразу писать на чем-нибудь современном и компилируемом типа Vala.

Хотя, надо отметить, гномеры сейчас экспериментируют с JavaScript в качестве языка для десктопных приложений, и некоторые успехи у них есть. По крайней мере, благодаря изначально продуманной архитектуре GLib и GObject Introspection у них уже автоматом есть биндинги для JS ко всей платформе, оба используемых JS-движка (WebKit'овский JavaScriptCore и мозильный SpiderMonkey) - JIT'ованные и шустрые, да и поддержка в Anjuta имеется.

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

>Ты предлагаешь написать свой компилятор.

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

III
()
Ответ на: комментарий от Kuka

> Да почему же. Имеют, но только для двух целей

...

С появлением Java EE 6 (в т.ч. «web profile») быстрее и удобнее


писать сразу на Java.


..


Опять-таки, тут удобнее сразу писать на чем-нибудь современном и


компилируемом типа Vala.



Господи, и это вы тут заикаетесь о маргинальности?

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

> не нужно.

не нужно.

не нужно.


не нужно.



Что и требовалось доказать.

а это нужно.


Ну так, может быть, поведаете нам, о success stories, когда бабло было заработано благодаря лиспу и его уникальным фичам?

archimag и его расстановщик бутылок не в счет, я уверен, что от лиспа там толку мало (впрочем, я намерен проанализировать этот расстановщик в отдельной беседе), и лисп там ни при чем.

Franz Inc. - контора, вовремя плотно подсадившая клиентов на лисп, и сосущая из них бабло за поддержку, лисп тут ни при чем, кобольщики, как я уже сказал, высасывают в десять раз больше.

ITA Software - скорее всего, их разработки имеют корни в 70-80-ых, когда была мода на AI, и если бы сейчас система, подобная ихней, разрабатывалась с нуля в нормальных технологиях, то человекочасов ушло бы на порядок меньше. Лисп там ни при чем.

Так что же, кто зарабатывает бабло именно благодаря лиспу, а не историческим обстоятельствам или маркетоидным талантам?

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

>> Ты предлагаешь написать свой компилятор.

не, я предлагаю лишь разобраться в вопросе.

Ты имеешь в виду, что тайпчекер - это не совсем компилятор?

или хотя бы сменить репертуар.

Объективная реальность от этого не изменится :D

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

> Господи, и это вы тут заикаетесь о маргинальности?

Если вам не известен язык, это не означает, что он маргинален. Вы бы ознакомились с предметом дискуссии, прежде чем делать такие вот смешные ляпы.

Vala развивается семимильными шагами, имеет кучу биндингов ко всему на свете, есть поддержка в IDE, на ней уже написано полно десктопного софта (см. ссылку). Vala - кандидат в мейнстрим для всей платформы GNOME.

Причем, заметьте, звезд с неба не хватает. Vala разрабатывается одним основным разработчиком, парочкой ассистентов и помощниками из сообщества. Была поставлена цель: современный компилируемый язык для системы GObject, и за пару лет цель практически достигнута, причем такими вот скромными силами.

Это при том, что воз лиспа и ныне там на протяжении уже 50 лет.

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

>Так что же, кто зарабатывает бабло именно благодаря лиспу, а не историческим обстоятельствам или маркетоидным талантам?

не вижу противоречия.

III
()
Ответ на: комментарий от tailgunner

> Ты предлагаешь написать свой компилятор. Я знаю, что лисперам это раз плюнуть, но я-то говорю за обычных быдлокодеров.

В том и дело, что с Лиспом не надо писать свой компилятор. Компилятор есть, надо написать маленький кусок компилятора и вставить в существующий.

Как это сделано с типизацией поверх динамически типизированного Лиспа - смотри на Qi II.

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

Vala - самое что ни на есть маргинальное поделие, прибитое гвоздями к гномовской инфрастуктуре. Разрабатывают его фанатики исключительно из религиозных соображений. Кука откровенно спалился с дифирамбами в сторону этой хрени. Отт абсолютно прав насчёт «другой секты».

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

>прибитое гвоздями к гномовской инфрастуктуре

4.2

Изучи предмет, прежде, чем что-то говорить.

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

>Vala - кандидат в мейнстрим для всей платформы GNOME.

GNOME - кандидат на первое место в номинации главная опен сорс нелепость (основной соперник - кде).

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

> надо написать маленький кусок компилятора и вставить в существующий.

Как это сделано с типизацией поверх динамически типизированного Лиспа - смотри на Qi II.

Qi - это «маленький кусок»? O_O

Я и не спорю с тем, что на CL можно написать тайпчекер для CL - я говорю, что написание этого чекера съест весь профит от его использования.

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

> не вижу противоречия.

То есть вы де-факто соглашаетесь с тем, что «лисп позволяет зарабатывать больше бабла» - миф?

Хотя, как справедливо заметили выше, это может быть обусловлено не тем, что эффективность разработки на лиспе выше (что тоже миф), а тем, что набыдлокоденные такими вундеркиндами «вложенные квазиквотации на три строки» сможет распарсить только тот самый вундеркинд, и за его труд по поддержке можно срубить сколько угодно бабла.

Ну, не «сколько угодно», конечно, но лишь пока эта сумма не превышает затрат на переписывание не-вундеркиндами в нормальных технологиях и дальнейшей поддержке за более вменяемые средства.

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

> Vala - самое что ни на есть маргинальное поделие...

Мелковато берете. Че сразу не Java? Глядите, как хорошо смотрелось бы:

Java - самое что ни на есть маргинальное поделие, прибитое гвоздями к сановской инфрастуктуре. Разрабатывают его фанатики исключительно из религиозных соображений. Кука откровенно спалился с дифирамбами в сторону этой хрени. Отт абсолютно прав насчёт «другой секты».


Если че, вы только что назвали сектой весь штат GNOME (Vala - официальный подпроект GNOME), в том числе десяток активных разработчиков самой Vala, а также девелоперов automake (добавили поддержку Vala в последней версии), девелоперов Anjuta (аналогично) и еще тысчонку-другую народу, уже пищущего на Vala. Весьма успешно, кстати. Новость про Shotwell не читали?

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

> Потому что лисп - write only похлеще перла

У вас совершенно неверное представление, мне даже трудно предоложить на чём оно основанно. Говорю это на основе трёх лет плотного использования CL.

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

>То есть вы де-факто соглашаетесь с тем, что «лисп позволяет зарабатывать больше бабла» - миф?

нет, лисп - это просто язык.

III
()
Ответ на: комментарий от Kuka

> «лисп позволяет зарабатывать больше бабла» - миф?

Конечно, это миф, высосанный троллями не понятно из чего.

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

> Изучи предмет, прежде, чем что-то говорить.

Интересно, где ещё кроме гнома используют всё это г над GObject? Вообще причина появления Vala - сущий анекдот. Гномовцы много лет жрали кактус в виде доморощенной объектной системы на C под лозунгом «C is true, C++ must die» (фанатики такие фанатики). Потом появилось Mono и выяснилось, что народ скорее готов стать анальными рабами Мелкософта, чем писать GUI на С. Фанатики возопили «галактеко опасносте!» и начали рожать свой собственный C# над унылым GObject. Больные люди, что с них взять. Но тут апологет «здравомыслия» Кука начинает эту отрыжку фанатизма, приправленную NIH-синдромом, навязчиво рекламировать. Стоит задуматься над ценой всех его предыдущих высказываний.

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