>> Виндузятнегов я понимаю, а лисперов - нет. Это меня беспокоит.
> Первых понять проще, чем вторых? ;)
Мне - да. Первые хотят комфорта, и ниипет. Чего хотят вторые - не понимаю.
>> Вроде все умные люди, а так носятся с этой игрушкой.
>1. Выс забыли спросить, с чем носиться.
8(
> 2. У Вас какие игрушки?
Linux 8) Моя игрушка в данный момент - Python. Но в основном работаю на Си/ассемблере/Си++
>> Описание Common Lisp - это толстенный том (или 2?), о какой простоте речь?!
> Описание какого языка (с описанием всех библиотек, необходимых для покрытия аналогичной функциональности)
Э, нет. То, о чем я говорил - это описание именно _языка_. Причем здесь библиотеки? Примеры языков с компактным описанием - Паскаль, Оберон/Оберон-2.
>> В реальных задачах Лисп за 50 лет распространения не получил - это говорит о многом.
> Ни о чём не говорит.
Ты просто не умеешь слушать ;( Практически у всех языков есть своя ниша - вычисления у Фортрана, системное программирование у Си, скриптование у Perl, бизнес-серверы у Java. А Lisp своей ниши не имеет. Точнее, она исчезла еще до всеобщего разочарования в AI.
Даже на несколько байт короче. Сервер писать неохота, но замечу, что используется "адаптированный" интерфейс к select. Ежели я возьму IO::Select и IO::Socket - то тоже получится быстрее и проще.
> Но вообще говоря, концептуальная простота нафик не сдалась на практике.
Опять "за всех"? :)
> Тот же CL, при том, что он весь на себе же, нихрена не простой; а весьма простой Scheme за пределами кампусов никто не использует.
Если не лезть сразу в макры/лупы/readtable и тому подобное - совсем простой :)
> Это дело вкуса. Имхо, как раз наоборот, синтаксическая бедность затрудняет чтение. После Perl или C++ смотреть в прогу на CL - как читать по-русски без знаков препинания и заглавных букв. Для метопрограммирования это плюс, но оно всегда будет уделом подавляющего меньшинства, которое пишет библиотеки и трансляторы.
Первым предложением сам всё сказал. :) А если при выборе языка на одном из первых мест стоит "вкус" кодера -... ну, значит такой кодер :) Опять же, не использование лиспа большинством говорит о большинстве, а не о лиспе :)
> > В четвёртых, допускает весьма высокий уровень абстракции данных. Т.е. требует наименьшего числа телодвижений при описании задачи и ещё меньшего дл изменения проги если задача немного поменялась.
> И какие же абстрактные структуры данных нельзя сформулировать на C++ или Python? Ну, в плюсах синтаксис корявый - но и только; ну бедт треугольных скобочек столько же, сколько в лиспе прямых ;)
"уровень абстракции данных" != "абстрактные структуры данных" (как минимум - те себя уже огрничил - структуры ;)) Ну и речь в первую очередь о работе с этими данными, а не о них самих.
Чем лично мне "дался" лисп - наименьшим количествои ограничений на синтаксис :) Причём, именно после Python-а. А, ещё tcl был ("был" - в моей истории)
>> Но вообще говоря, концептуальная простота нафик не сдалась на практике.
> Опять "за всех"? :)
Концептуальная простота полезна только для написания и отладки абстракций "начального" уровня - того, что в "нормальных" языках собственно входит в язык - управляющих конструкций и стандартной библиотеки. Этим занимается (профессионально) очень мало людей, и мне, грубо говоря, пофик, насколько сложно было написать libc, и сделал ли это один человек за месяц или 100 за год - по сравнению с трудом по ее использованию это все равно ничтожные цифры.
>> Тот же CL, при том, что он весь на себе же, нихрена не простой; а
> Если не лезть сразу в макры/лупы/readtable и тому подобное - совсем простой :)
А нах он такой "простой" нужен-то? Accumulator passing style оттачивать? Велосипеды по 10 на день строить? Нах, нах.
>> Это дело вкуса. Имхо, как раз наоборот, синтаксическая бедность затрудняет чтение.
> Первым предложением сам всё сказал. :) А если при выборе языка на одном из первых мест стоит "вкус" кодера -... ну, значит такой кодер :) Опять же, не использование лиспа большинством говорит о большинстве, а не о лиспе :)
О да, все те же "миллионы мух". Тебе никогда не приходило в голову, что надо инструмент подбирать под человека, о не наоборот (ну, в пределах одного класса)? Споры о читабельности языков - это как спор "из чего правильнее делать рукоятку стамески - из дерева или из пластмассы". Если 90% столяров привыкли к пласстмассовым - зачем тратить лес?
> "уровень абстракции данных" != "абстрактные структуры данных" (как минимум - те себя уже огрничил - структуры ;)) Ну и речь в первую очередь о работе с этими данными, а не о них самих.
Главная сила лиспа - в возможности формировать сложные структуры и их удобно обрабатывать. А большинство алгоритмов более-менее одинаково записывается при одинаковых структурах на любом языке.
> Чем лично мне "дался" лисп - наименьшим количествои ограничений на синтаксис :) Причём, именно после Python-а. А, ещё tcl был ("был" - в моей истории)
Ты чего-то с чем-то путаешь. В Лиспе как раз огромное количество ограничений на синтаксис, в нем даже префиксный или инфиксный оператор определить нельзя по-человечески, и вообще имеется ровно один синтаксический элемент - список (ну, еще quoting, да); everything is a value, даже statement-ов нету нифига (не, не то, чтобы очень надо - но это таки ограничение).
> Мне - да. Первые хотят комфорта, и ниипет. Чего хотят вторые - не понимаю.
:)))) Ну, почти того-же :) Хотя вторых кое-что всё-же... того :)
> Моя игрушка в данный момент - Python.
Когда перестанет устраивать (именно как язык) - посмотрите ещё раз на лисп :)
> Э, нет. То, о чем я говорил - это описание именно _языка_. Причем здесь библиотеки? Примеры языков с компактным описанием - Паскаль, Оберон/Оберон-2.
Э нет. Там описание 1) языка; 2) интерпретатора; 3) компилятора (частично) [или 2+3 - среды]; 4) функций, которые во многих других языках вынесены в библиотеки; 5) сразу и не вспомню :) Ах, да - организации пар, списков и прочее
> Ты просто не умеешь слушать ;( Практически у всех языков есть своя ниша - вычисления у Фортрана, системное программирование у Си, скриптование у Perl, бизнес-серверы у Java. А Lisp своей ниши не имеет. Точнее, она исчезла еще до всеобщего разочарования в AI.
На данный момент из существующих реализаций лиспа получается хороший "клей" и инструмент для макетирования (создания прототипов). На встраиваемых (ecl, newlisp, может ещё что есть) можно писать логику и для монолитных программ.
Трудно говорить об отсутсвии ниши для лиспа, ибо "лисп" - это только синтаксис. CL - уже более жёсткий стандарт. Конкретные реализации более годны для той или иной сферы, и не пригодны в других.
Я не говорю, что все _должны_ всё писать на лиспе. Я лишь предлагаю ознакомиться с языком :) От этого будет только польза.
> Когда перестанет устраивать (именно как язык) - посмотрите ещё раз на лисп :)
Для меня он игрушка в том смысле, что он мне нравится, хотя сам я на нем пишу немного. Но я в команде работаю, и когда я представляю, что прихожу и говорю: "С сегодняшнего дня переходим на CL", мне просто жалко ребят... Они начнут переходить, но будут меня тихо ненавидеть 8)
> из существующих реализаций лиспа получается хороший "клей" и инструмент для макетирования (создания прототипов).
Лисп может всё, вопросов нет. Но в любой области есть для него более удобная в использовании альтернатива.
> Трудно говорить об отсутсвии ниши для лиспа, ибо "лисп" - это только синтаксис. ... Конкретные реализации более годны для той или иной сферы, и не пригодны в других.
И это большая проблема, вытекающая (ИМХО) из минималистичности Лиспа. В результате имеем десятки несовместимых Лиспов, и это длится десятилетиями.
> Я лишь предлагаю ознакомиться с языком :)
С каким из многочисленных? ;) Имею (небольшой) опыт использования Guile.
> Концептуальная простота полезна только для написания и отладки абстракций "начального" уровня - того, что в "нормальных" языках собственно входит в язык - управляющих конструкций и стандартной библиотеки.
Вот именно наличие разнообразных управляющих конструкций и невозможность создания своих (кроме функций) и воротит от остальных языков (большинства из них).
> А нах он такой "простой" нужен-то?
Ха, а зачем нужен C/Pascal/etc без единой библиотеки? Значит, языком одним не ограничишься...
> Споры о читабельности языков - это как спор "из чего правильнее делать рукоятку стамески - из дерева или из пластмассы". Если 90% столяров привыкли к пласстмассовым - зачем тратить лес?
Очень правильно заметил - "привыкли". Единственная "достойная" причина :)
> Главная сила лиспа - в возможности формировать сложные структуры и их удобно обрабатывать. А большинство алгоритмов более-менее одинаково записывается при одинаковых структурах на любом языке.
Брр... "описание алгоритма... на языке" зависит от ограничений языка и может быть совсем не одинаково.
> В Лиспе как раз огромное количество ограничений на синтаксис, в нем даже префиксный или инфиксный оператор определить нельзя по-человечески, и вообще имеется ровно один синтаксический элемент - список
Зыть... В лиспе _единственное_ ограничение - единица кода есть список. Фактически требуется только... обозначить границы единицы кода (где это не требуется? :). Всё! Что значит "по-человечески"? Перепешите readtable и делайте что хотите :)
Что такое statement? (забыл - давно не пользовался... ;)
> Вот именно наличие разнообразных управляющих конструкций и невозможность создания своих (кроме функций) и воротит от остальных языков (большинства из них).
А _зачем_?
>> А нах он такой "простой" нужен-то?
> Ха, а зачем нужен C/Pascal/etc без единой библиотеки? Значит, языком одним не ограничишься...
Пилять, некоторые лисперы не могут запомнить ход дискуссии на два шага назад. Еще раз, изначальный агрумент: лисп простой, и это хорошо. Контраргумент: просто он только "без ничего", а "со всем" - такой же сложный, как все остальное. И где преимущетсво?
> Очень правильно заметил - "привыкли". Единственная "достойная" причина :)
Ровно то же самое, что выше: _что_ мы получим от перехода кроме гемора в процессе перехода?
> > Вот именно наличие разнообразных управляющих конструкций и невозможность создания своих (кроме функций) и воротит от остальных языков (большинства из них).
> А _зачем_?
Зачем инструкции есть? Не знаю... :) Зачем свои - чтобы было удобнее.
> Пилять, некоторые лисперы не могут запомнить ход дискуссии на два шага назад. Еще раз, изначальный агрумент: лисп простой, и это хорошо. Контраргумент: просто он только "без ничего", а "со всем" - такой же сложный, как все остальное. И где преимущетсво?
Ок. Лисп "без ничего" - проще некуда. А дальше - дальше сахар. Правда, иногда в виде монолитного куска - надо грызть, потом сладко станет :) И лисп "со всем" - это как плюсы с STL, BOOST и лысым хреном. ИМХО - проще разобраться с первым :) (могу быть и неправ)
> Ровно то же самое, что выше: _что_ мы получим от перехода кроме гемора в процессе перехода?
Вы - скорее всего ничего. Другие _могут_ получить свободу и выразительность. Но это не для "индусского" программирования.
> > Ровно то же самое, что выше: _что_ мы получим от перехода кроме гемора в процессе перехода?
> Вы - скорее всего ничего. Другие _могут_ получить свободу и выразительность. Но это не для "индусского" программирования.
Вам нужны программы красивые или работающие?
У меня все больше складывается впечатление, что большинство лиспофилов не сталкивалась с "промышленным" программированием больших долгоживущих проектов большими командами, а либо студенты, либо исследователи, т.е. люди, пишушие крутые сложные программы, но в одиночку и одноразово, написал-запустил-выкинул.
А такие мелочи, что кому-то вдруг может понадобиться понять и интегрировать кусок кода, написанный три года назад человеком, который два года как в Австралии, или что вам вдруг придется срочно искать замену трем коллегам, которые вдруг толпой ушли в другую контору - их не волнуют. Это все "индусское программирование".
Смотря для чего :) Убогий интерфейс иной проги делает её практически неработающей (ибо с ней никто не работает).
> У меня все больше складывается впечатление, что большинство лиспофилов не сталкивалась с "промышленным" программированием больших долгоживущих проектов большими командами, а либо студенты, либо исследователи, т.е. люди, пишушие крутые сложные программы, но в одиночку и одноразово, написал-запустил-выкинул.
А зачем архитектору по стройке ползать? :) Да, в данный момент лисп для "промышленного кодинга" не годится по той простой причине, что вы не найдёте большую команду профессионалов. А "кодеры" почему-то лисп не осваивают - только джаву и инкарнации бэйсика. А всё остальное, что Вы написали - "от лукавого".
> А такие мелочи, что кому-то вдруг может понадобиться понять и интегрировать кусок кода, написанный три года назад человеком, который два года как в Австралии, или что вам вдруг придется срочно искать замену трем коллегам, которые вдруг толпой ушли в другую контору - их не волнуют. Это все "индусское программирование".
А этот бред вообще ни коим боком к языку (любому) не лежит. Если один урод написал пусть работающий но дурацкий код без комментариев и сопроводительной документации - чем вас другой язык спасёт?
Про количество профессионалов я уже упомянул. Так Вас никто и заставляет всё писать на лиспе. Вам просто предлагают ознакомиться. А если вы сейчас заведёте песню - "Нафиг мне лишняя сущность", то можете даже и накомиться - не поможет.
1) про интерпретатор - речь идет о реализации самого eval'a a не его тупом вызове, я буду стоя апплодировать человеку который сможет это сделать для руби например :) 2) LISP был языком системного программирования когда фортрана и С/С++ еще в проекте не было :) 3) когда системы на С++ становятся сложными - начинают пользовать boost и прочие темплейтные подпрыгивания чтоб сделать то что в функциональных языках есть с самого начала
> А этот бред вообще ни коим боком к языку (любому) не лежит. Если один урод написал пусть работающий но дурацкий код без комментариев и сопроводительной документации - чем вас другой язык спасёт?
У меня есть мнение, что написать непонятный код на Java, и даже на C++ сложнее, чем на CL. Взрывчатки меньше, соглашений больше.
> Про количество профессионалов я уже упомянул. Так Вас никто и заставляет всё писать на лиспе. Вам просто предлагают ознакомиться. А если вы сейчас заведёте песню - "Нафиг мне лишняя сущность", то можете даже и накомиться - не поможет.
Я знакомился, мне даже кое-что понравилось. Более того, я вам скажу, что в конторе, где я работаю, примерно половина людей знают лисп и/или хаскелль. Но не пишут на нем, по крайней мере по работе. А пишут на быдлоперле и быдлосиплюсплюс, и, даже, что ужасно, на яве.
И мне так и непонятно, почему мегалиспропрограммеры, которые столь горазды пропагандировать, не соберутся и не напишут нужную-и-крутую-прогу-на-лиспе-для-всех. А то я вот, навскидку, ничего на лиспе не знаю, кроме собственно реализаций CL и модов к емаксу. Вот для чего мне - гипотетически начинающему кодеру - учить лисп? Зная плюсы (условно говоря), я могу наваять себе перделку для KDE, а на перле - гостевуху на домашнюю страничку. А на лиспе? Аддон к GNUS? Нафик надо...
> Всё это можно сказать одной фразой: "Проггеров на Лиспе слишком мало".
Дело не только в этом. Все Java программисты нормальны одинаково, все лисповые программисты безумны по-разному, почти (С) Толстой. Т.е. шансы, что средний жавист разберется в произвольном куске кода выше, чем у лисперов. Имхо.
> Описание Common Lisp - это толстенный том (или 2?),
а описание жабы есть в сотнях тысячь разнообразных "асилим жабу за пару лет", "жаба бля полных дауноф" итп. Будем и дальше сравнивать сложность по объёму сопутствующей мукулатуры? > Или ты имеешь в виду Маккартниевский Lisp 1.5 50-летней давности? Или Scheme?
Common Lisp. С остальными незнаком пока.
>> а потом давай сравним простоту испрользования названых на реальных задачах.
> На _каких именно_ задачах?
Ну я привёл выше пару примеров, достаточно общих ИМХО. Не нравятся - приведи свои.
> Я занимаюсь системами реального времени, куда там Лисп с его сборкой мусора воткунть?
Да фих ево знает. Я в РВ постольку поскольку, но слыхивал даже жабу туда примостить пытаюцо.
> Если задача сводится к обработке списков - тогда Лисп рулит, поскольку для этого и сделан.
Ну если уж ты сводиш задачи на "обработка списков", "обработка байтов" и тд...
> Я уже писал - всё слишком однообразно, глазу не за что зацепиться.
Ну глаз не зацепицо - значит не поцарапаецо, луче видеть будеш. Чем плохо?
> Настолько субъективно, что...
Порешай приведённое выше по перестановкам, чтобы отличить.
> При всем уважении, это сферические кони в вакууме. В реальных задачах Лисп за 50 лет распространения не получил - это говорит о многом.
А получил распространение висуалвасик. Это, да, говорит о многом. Но видимо ты услышал не то, про что это говорит.
Ты - доктор? Да ты (в лучшем случае) санитар. А скорее всего - больной, который где-то слямзил белый халат и теперь пудрит мозги честным пациентам.
>>> Во-первых, он весьма прост.
>> Описание Common Lisp - это толстенный том (или 2?),
> а описание жабы есть в сотнях тысячь разнообразных "асилим жабу за пару лет", "жаба бля полных дауноф" итп. Будем и дальше сравнивать сложность по объёму сопутствующей мукулатуры?
Причем здесь общее количество макулатуры? Сравнивался объем описаний _языка_, всего одной книги для каждого языка.
> Ну если уж ты сводиш задачи на "обработка списков", "обработка байтов" и тд...
> Ну глаз не зацепицо - значит не поцарапаецо, луче видеть будеш. Чем плохо?
> Порешай приведённое выше
> А получил распространение висуалвасик.
Набор трескучих штампов. Нечего ответить - не отвечай.
> Ты чего-то с чем-то путаешь. В Лиспе как раз огромное количество ограничений на синтаксис, в нем даже префиксный или инфиксный оператор определить нельзя по-человечески, и вообще имеется ровно один синтаксический элемент - список (ну, еще quoting, да); everything is a value, даже statement-ов нету нифига (не, не то, чтобы очень надо - но это таки ограничение).
какая лажа млина! Пожалста определи на любом наречии синтаксис выражовывания типо "a<b=c<d..." где abcd... число а меж ими операции сравнения, и выражовывание значение true тогда и только тогда если выполняецо условие меж любой парой значений. Вот для лиспа:
> Контраргумент: просто он только "без ничего", а "со всем" - такой же сложный, как все остальное. И где преимущетсво?
А ты сравни лисп "без ничево" и <чтонибудь другое> "без ничево". Очевидно, чё сложность остатков при одинаковой функциональности будет примерно одинаковая, потому что не зависит от языка.
> Ты - доктор? Да ты (в лучшем случае) санитар. А скорее всего - больной, который где-то слямзил белый халат и теперь пудрит мозги честным пациентам.
:D
> Причем здесь общее количество макулатуры? Сравнивался объем описаний _языка_, всего одной книги для каждого языка.
Да потому что понаписать можно всякое. Дано на этом форуме кто-то заметил, что учеблики по лиспу начинаются с примеров написания интерпретаторов, а остальных - с хеловорда. Лично я освоил лисп в минимально необходимом объёме для практического применения по паре страниц текста описания.
> Набор трескучих штампов. Нечего ответить - не отвечай.
>> учеблики по лиспу начинаются с примеров написания интерпретаторов, а остальных - с хеловорда.
> Мало в какие языки встроен интерпретатор их самих. И не такое уж это большое преимущество, ИМХО.
так дело не в интерпретаторе (кстати в питоне вроде есь подобная возможность) а в разнице уровней учебников. И поэтому не очень хорошая идея сравнивать два тома описания лиспа с книшкой "паскаль для всех" (непомню автора, в студенческие годы листал. Там с полсотни страниц наверное)
>> не очень хорошая идея сравнивать два тома описания лиспа с книшкой "паскаль для всех"
> Сравнивают не с "Паскаль для всех", а с "Сообщение о языке программирования Паскаль" Н.Вирта, которое _стандарт языка_.
И зря. Подход принципиально иной. Что есть в Паскале?
функции
процедуры
константы
"тело программы"
переменные
операторы работы с переменными
массивы
множества
блоки операторов (которые меж begin и end)
операторы для работы с ими (условные, цыклы многих видов, ...)
работа с файлами (выделяю отдельно ибо слишком уж отличается)
объектов и работы с памятью там вроде нету
Что есть в лиспе?
функции
переменные
списки
операторы работы с перемеными (связывание, итд)
операторы работы с списками (car, cdr, cons, итд)
всё?
>> Интересное ссылко, спасибо.
> Это не мне 8)
тебе тоже немного. Прочитал, понравилось. Но не во всём согласен. Например, вина за столь неэффективный програмёж на всякой [ерунде] ложится ИМХО в основном на безграмотных "преподавателей", которые практики создания хотябы небольшой проги неимеют а о существовании лиспа просто не знают.
> какая лажа млина! Пожалста определи на любом наречии синтаксис выражовывания типо "a<b=c<d..."
Ну, ээ. То, что ты написал с (cmp) - это туфтень. это обычая higher order function, и инфиксными операторами тут и не пахнет.
А вот, скажем, у Haskell есть честный парсер с приоритетом операций, причем настраиваемый, и можно добавлять свои. Так что нефиг тута. А 'source filter' с 'eval' я могу и на перле и на питоне настрогать. Только вот это нафиг не нужно.
> Такое не следует говорить, если не видел хотя бы десяток-полтора Лисп-программеров _в работе_. Ты видел? Лично я не видел и одного :(
Полтора десятка лисп-программеров сразу? Это где такое?
Двух видел. Они еще и лингвисты при этом. Код их на лиспе я не читал, но перловый к внедрению непригоден - только методом "прийти с листочком, записать алгоритм со слов автора, переписать по-нормальному".
> так дело не в интерпретаторе (кстати в питоне вроде есь подобная возможность) а в разнице уровней учебников.
Ну вот, скажем, один из самых известных учебников по CL - это "Practical Common Lisp". И не сказать, чтоб в нем приводились шибко сложные программы (mp3 streaming server, насколько я помню, там самый большой проект). И есть учебники по C++, в которых за одну главу пишут интерпритатор бейсика (и, я думаю, интерпретатор Scheme нифига не сложнее, а наоборот - там парсер сильно проще. Даже если делать настоящий garbage collector).
А крутые книги типа SICP - они не про Лисп, они про программирование. Вы же не пишете все подряд на MIX только потому, что на нем примеры в AoCP?
> И поэтому не очень хорошая идея сравнивать два тома описания лиспа с книшкой "паскаль для всех" (непомню автора, в студенческие годы листал. Там с полсотни страниц наверное)
> У меня есть мнение, что написать непонятный код на Java, и даже на C++ сложнее, чем на CL. Взрывчатки меньше, соглашений больше.
У меня есть другое мнение. Итого - два разных мнения. Дальше? :)
> Я знакомился, мне даже кое-что понравилось. Более того, я вам скажу, что в конторе, где я работаю, примерно половина людей знают лисп и/или хаскелль. Но не пишут на нем, по крайней мере по работе. А пишут на быдлоперле и быдлосиплюсплюс, и, даже, что ужасно, на яве.
Познакомился, но "плюсов" не видишь (кое-что - не в счёт)? "Не верю" :) Ну я тоже сижу в офисе под офтопиком - судьба такая.
> И мне так и непонятно, почему мегалиспропрограммеры, которые столь горазды пропагандировать, не соберутся и не напишут нужную-и-крутую-прогу-на-лиспе-для-всех. А то я вот, навскидку, ничего на лиспе не знаю, кроме собственно реализаций CL и модов к емаксу. Вот для чего мне - гипотетически начинающему кодеру - учить лисп? Зная плюсы (условно говоря), я могу наваять себе перделку для KDE, а на перле - гостевуху на домашнюю страничку. А на лиспе? Аддон к GNUS? Нафик надо...
"Пропагандировать" - это ты к свидетелям иеговы иди. Тебе просто предлагают поглубже узнать. Авось и пригодиться.
По поводу ссылки на РСДН - трындец! Пока народу не покажешь красную тряпку - нихрена не ведётся! Т.е. самому почитать, попробовать, составить мнение - анунах. А вто кто-то скажет - "Мля, да я на этом лям заработал" - все уже в очереди. НАФИГ! Не хотите - не читайте. Не знаете "зачем" - не читатйте. Прочитали и не поняли - забудьте! А то и так в comp.lang.lisp каждый nn-й пост - как бы хорошо поменять в лиспе синтаксис и прочий бред! <<Не нужен кодеру лисп - ни разу!>>
Да-да и для скольки языков? А всё остальное что есть в емаксе где? А если сам язык свой заделал насколько быстро модуль с поддержкой языка ты сделаешь? Не говоря уже про другие использования емакса. А вообще как там с автоматизацией?
>> Но ссылки на использование Лиспа в качестве языка системного программирования - в студию!
>А погуглить на тему лисп-машин?
Мне не надо на эту тему гуглить - я это читал 15 лет назад. Но Лисп-машины - это слишком уж специфическое системное программирование. В самом деле - что еще может быть языком системного программирования Лисп-машины, кроме Лиспа? Интересуют ссылки на использование Лиспа для системного программирования машин с традиционной архитектурой (BitC - не предлагать, это не Лисп).
> По поводу ссылки на РСДН - трындец! Пока народу не покажешь красную тряпку - нихрена не ведётся! Т.е. самому почитать, попробовать, составить мнение - анунах.
Понимаешь ли, доверие спецу-практику, особенно практику в близкой тебе области, куда выше, чем к просто "Тебе просто предлагают поглубже узнать. Авось и пригодиться".
> А вто кто-то скажет - "Мля, да я на этом лям заработал" - все уже в очереди.
По ссылке как раз сказано, что не заработаешь на Лиспе, но тем не менее его надо знать (что само по себе заставляет предполагать искренность автора).
А Пол Грэм писал, как он заработал на Лиспе - и где очередь?
>Интересуют ссылки на использование Лиспа для системного программирования машин с традиционной архитектурой (BitC - не предлагать, это не Лисп).
1. Первые версии Лиспа работали близко к железу и были своего рода ассемблером (откуда пошли например car, cdr - по сути названия регистров одной древней машины :) 2. Common Lisp - это фактически оперционная система. Точка. Имея работающий интерпретатор можно решать любые задачи не покидая его. Вплоть до написания драйверов :). 3. BitC тоже лисп как и многие более экзотические диалекты - S-expressions и лямбда-исчисление - вот главные критерии. А типизация, объекты и прочая лабудень при необходимости добавляется макросами или добавлением встроенных функций в рантайм.
Какие "первые версии"? Lisp 1.5? Не исрользовали его для системного программирования, AFAIK.
> и были своего рода ассемблером
"Своего рода", я плакал. Все ЯВУ - "своего рода" ассемблеры. Для Smalltalk, Pascal, Java, Python - даже машины есть (виртуальные, правда).
> Common Lisp - это фактически оперционная система.
И Java тоже. И Smalltalk.
> Вплоть до написания драйверов :)
Не подскажешь, как там MMIO делается? DMA? Как прерываниями управлять? :-P
> BitC тоже лисп
Не Лисп это ни разу, только синтаксис похож. Но спорить не стану.
> типизация, объекты и прочая лабудень при необходимости добавляется макросами
Статическая типизаци - макросами? С этого места, пожалуйста, подробнее. Примеры есть? А то что-то мне кажется, что это то же самое, что сказать: "В Си можно добавить лямбды средствами Си" (ага, дописать написанный на Си компилятор).
> Познакомился, но "плюсов" не видишь (кое-что - не в счёт)? "Не верю" :) Ну я тоже сижу в офисе под офтопиком - судьба такая.
Почему? Плюсы вижу. CLOS это клево, да и "местами функциональное" программирование - это удобно. Просто нет никакой связи между теми концепциями, которые реализованы в CL, и собственно CL. Я все то же самое могу и на перле делать, в синтаксисе, который мне ближе и роднее.
А по поводу пропаганды - судя по последнему абзацу, LISP для тебя - произведение искусства, которое не ценят и лапают грязными руками. Ну, ээ, это твои проблемы.
> очему? Плюсы вижу. CLOS это клево, да и "местами функциональное" программирование - это удобно.
Макры намеренно забыл? Их ты на чём будешь делать? Да и не уверен я - CLOS c MOP-ом точно на перле повторишь? CLSQL видел? И это сделаешь? (это я про readtable) И на что это всё вместе будет похоже? :)
> А по поводу пропаганды -...
Был несколько неправ - каюсь :) Хотя это был стёб с подколом: "от противного" - ну не хотят лапать как не расписывай, вот и подумал - может хоть запретный плод будет сладок?... :) А раз ты не распознал, значит затея удалась ;)
> А Пол Грэм писал, как он заработал на Лиспе - и где очередь?
Ну, это очень уникальная ситуация - повторение невозможно :)
> Понимаешь ли, доверие спецу-практику, особенно практику в близкой тебе области, куда выше, чем к просто "Тебе просто предлагают поглубже узнать. Авось и пригодиться".
Да не об этом я. Автора статьи многое не устраивало в его работе, и он отправился на поиски решений своих проблем. А найденное его воодушевило на написание статьи. Но статья не поможет тем, кто не собирается ничего искать/иенять. А кто собирается - всё равно пойдёт своим путём, пусть и с поправкой на ветер.
Частично по-этому я чуть раньше и "окрысился": если вы не знаете, зачем вам это - вам это не надо :)