powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Для чего нужен лисп ?
25 сообщений из 74, страница 2 из 3
Для чего нужен лисп ?
    #35147582
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще работал на lisp под Autocad
Почитайте те же форумы разработчиков под как - поймете почему в тех задачах он очень удачен.

Кад хранит данные в списочной структуре и работать с примитивами на лиспе - красиво и органично.
В свое время в написанном проекте Lisp сочетался с AutoCad VBA . На первом, в основном выполнялось создание примитивов, доп команды, обработка.
На втором - генерация и аггрегация данных, построение спецификаций....

В общем достаточно хороший язык, для своих задач. Правда лазание на нем по объектной модели (чисто мое ИМХо) извращение, обычный VB6 /.NET /Delphi синтаксис в разы прозрачней.
Но если данные хранятся не объектно , а списочно (или просто преобразовываются в списки) - то лисп красив и эффективен.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147620
dvimВообще работал на lisp под Autocad
Почитайте те же форумы разработчиков под как - поймете почему в тех задачах он очень удачен.

Он там и сейчас работает. И я бы не сказал, что он там сильно удачен.
Он туда приверчен исторически, как макроязык.
Но писать на нём - это идевательство.

dvimКад хранит данные в списочной структуре и работать с примитивами на лиспе - красиво и органично.
Было в 80-х годах, когда никто про ООП не знал.

dvimВ свое время в написанном проекте Lisp сочетался с AutoCad VBA . На первом, в основном выполнялось создание примитивов, доп команды, обработка.
На втором - генерация и аггрегация данных, построение спецификаций....
Обоих в сад. Нормальные расширения там отродясь писались на C++

dvimВ общем достаточно хороший язык, для своих задач. Правда лазание на нем по объектной модели (чисто мое ИМХо) извращение, обычный VB6 /.NET /Delphi синтаксис в разы прозрачней.
Чем чем хороший?

dvimНо если данные хранятся не объектно , а списочно (или просто преобразовываются в списки) - то лисп красив и эффективен.
Общая никчёмная балалайка.

Даром не нужны там эти красивости. А средств императивных языков для тех задач, в которых
(кстати - якобы) нужен автолисп - за глаза.

Короче, молодой человек, не рубете тему - лучше молчите.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147670
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод TonY.Soprano язык как был отстойным так и останется )
В том то и дело что останется. Лисп - это не язык программирования в обычном смысле слова. Это инструмент анализа других языков, программ, алгоритмов. Сравнивать его с другими ЯП не корректно.

Какая языковая конструкция его таким делает ?
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147690
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonY.Soprano
Какая языковая конструкция его таким делает ?

defmacro
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147730
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defmacro решит твои сомнения юнный подован ибо в ней сила ......
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147735
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем defmacro лучше #define blabla ?
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147764
dvimВообще работал на lisp под Autocad
Почитайте те же форумы разработчиков под как - поймете почему в тех задачах он очень удачен.

Но если данные хранятся не объектно , а списочно (или просто преобразовываются в списки) - то лисп красив и эффективен.

Lisp, отвечающий стандарту Common Lisp - универсальный язык, а вот AutoLISP поддерживает едва процентов 20 возможностей языка.

Фишка лиспа вовсе не работа со списками, а в том, что программа на лиспе сразу записана в форме представления синтаксического дерева и может манипулировать им. Ничего столь же элегантного в других языках нет, а некоторые попытки этого как например в Python выглядят похожим на чесание левой ногой правого уха. Как бы современные достижения программирования уже были в лиспе задолго до вхождения их в моду, например, сборка мусора впервые появилась в лиспе еще в середине 1960-х годов. Абстрактные функции, куда мощнее шаблонов C++ и возникли в тех же 60-х годах.

Очень мощное ООП расширение лиспа CLOS реализуется средствами самого лиспа. Еще в 70-х годах были реализованы замыкания и только недавно аналоги появились в других языках. Есть вещи которые толком и не реализованы более нигде.

Для Lisp существуют и немало различных библиотек и систем, кому чего надо могут глянуть на http://www.cliki.net/index%5D%7C>]http://www.cliki.net/index]|> http://www.cliki.net/index" TARGET="_blank">этом сайте Есть возможности вызывать функции из внешних библиотек для Си. Lisp вовсе не академический язык, как может показаться.

Вот некоторые примеры использования Lisp и вообще их в той теме немало.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147781
TonY.SopranoА чем defmacro лучше #define blabla ?

хотя бы тем, что может использовать ранее определенные функции для вычислений на этапе компиляции. В C++ с помощью шаблонов и макросов тоже можно извернуться и заставить компилятор кое-что подсчитать, но если в C++ это экзотический трюк, к тому же не универсальный, то в лиспе - штатная возможность.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147808
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonY.SopranoА чем defmacro лучше #define blabla ?

defmacro работает в терминал логической труктцры программы а не ее текста.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35147818
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin TonY.SopranoА чем defmacro лучше #define blabla ?

defmacro работает в терминал логической труктцры программы а не ее текста.

А можно пример показательный ... Полапидарнее
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148028
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55 !круп ксеноцефала TonY.SopranoТоварищ шумиху поднял с Lisp-ом и что? А толку язык как был отстойным так и останется )

Он не отстойный, он - академический.

Тут всё просто. Понимаешь, есть люди которые ценят... удобство. Они выбирают паскаль, аду или PL/SQL какой.
Есть люди - которые ценят круть - они выбирают C/С++

Есть люди, которые ценят мнение Запада - они выбирают или Java или .NET (раньше там был кобол, потом C++ и смаллталк и вообще, американские стада - это ещё тот вопрос).

И все гордятся своим выбором, о том, что они дескать умнее всех (ага, два раза).

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

Т.е. это чисто как средство идентификации. Кто чем горазд. Кто не красотой, тот шмоткой, кто не
шмоткой - тот мобилой, кто не мобилой, тот точилой, но лишь бы не как все.

Вот и маются, хрен знает чем. И зачем?

Я бы сказал - некоторый перебор.

Для решения одних задач - удобнее одни языки, для других - другие.
Другое дело, что, например, для вычислений вполне достаточно Паскаль / Си, а таких задач большинство.
PL/SQL - енто уже другое, ибо предназначен для вполне определенного круга задач.
А для решения более узкого круга задач более подходят другие языки и всякие умные слова типа "маргиналов" тут совершенно ни при чем...
Например, Форт имеет очень компактный код и за счет этого используется / использовался (сейчас не в курсе) для программирования всяких встроенных устройств.

Java - не потому, что "нравится Западу", а во многом из-за кроссплатформенности.

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

Лет десят назад был живой научный интерес - диалекты ЛИСП, диалекты ПРОЛОГ, ...
Собственно, когда не было языков высокого уровня - С и Pascal-и и ЛИСПы и Прологи и много чего еще тоже были научными изысканиями, но практика все расставила на свои места. Хотя, кто знает, может быть с связи с появлением компьютеров на ДНК и на уровне атомных структур - ЛИСП-ы и ПРОЛОГ-и будут вроде "ассемлеров" для таких машин.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148050
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexandrPlus
Лет десят назад был живой научный интерес - диалекты ЛИСП, диалекты ПРОЛОГ, ...
Собственно, когда не было языков высокого уровня - С и Pascal-и и ЛИСПы и Прологи и много чего еще тоже были научными изысканиями, но практика все расставила на свои места. Хотя, кто знает, может быть с связи с появлением компьютеров на ДНК и на уровне атомных структур - ЛИСП-ы и ПРОЛОГ-и будут вроде "ассемлеров" для таких машин.
Жуть, представил как нанороботов на лиспе программируют...
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148060
!наноробот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XDiaBLoЖуть, представил как нанороботов на лиспе программируют...

Любой дятел, не закрывший скобочку, способен...

P.S. Короче, не порите чушь. Пролог и лисп к синаптическим структурам и прочим попыткам имитации реальной нервной системы животных - не имеют ровным счетом никакого отношения.

К проблемам ИИ - в т.ч. (даже AI в играх для детей - пишут вовсе не на этих чудоязыкаг).
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148111
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexandrPlus
Лет десят назад был живой научный интерес - диалекты ЛИСП, диалекты ПРОЛОГ, ...
Собственно, когда не было языков высокого уровня - С и Pascal-и и ЛИСПы и Прологи и много чего еще тоже были научными изысканиями, но практика все расставила на свои места. Хотя, кто знает, может быть с связи с появлением компьютеров на ДНК и на уровне атомных структур - ЛИСП-ы и ПРОЛОГ-и будут вроде "ассемлеров" для таких машин.

Т.е. из этого следует, что Pascal и C появилиcь десять лет назад?

К слову сказать, Prolog появился позже и Pascal и C.
К слову сказать, Pascal создавался как язык для обучения, а C - как инструмент для написания Unix...
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148128
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!наноробот XDiaBLoЖуть, представил как нанороботов на лиспе программируют...

Любой дятел, не закрывший скобочку, способен...

P.S. Короче, не порите чушь. Пролог и лисп к синаптическим структурам и прочим попыткам имитации реальной нервной системы животных - не имеют ровным счетом никакого отношения.

К проблемам ИИ - в т.ч. (даже AI в играх для детей - пишут вовсе не на этих чудоязыкаг).
Не учите меня, я знаю что, где и на чём пишут. Я просто комментировал предыдущий пост.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148153
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!наноробот XDiaBLoЖуть, представил как нанороботов на лиспе программируют...

P.S. Короче, не порите чушь. Пролог и лисп к синаптическим структурам и прочим попыткам имитации реальной нервной системы животных - не имеют ровным счетом никакого отношения.

К проблемам ИИ - в т.ч. (даже AI в играх для детей - пишут вовсе не на этих чудоязыкаг).

Вообще Пролог про логику - что тоже прямо к ИИ, но всё конечно с иронией и не совсем ...

То есть не про ИИ - другие принципы реализации вычислений - не 0 и 1 и электронные барьерах, а группировки атомов ... и регистры и классические ассемблеры становятся плохим способом
отображения физических процессов
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148226
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55[quot AlexandrPlus]

Т.е. из этого следует, что Pascal и C появилиcь десять лет назад?

К слову сказать, Prolog появился позже и Pascal и C.
К слову сказать, Pascal создавался как язык для обучения, а C - как инструмент для написания Unix...


Pascal как идея - примерно 1980-1983
Но в практике - где-то с 1990

Pascal-образные АДА и Модула и всяякая дичь - не для обучения вовсе
Хотя Pascal был выбран ДЛЯ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ, а обучали всем языкам - кому что
Фортран для расчетчиков, Кобол для экономистов, ...

А Пролог и ЛИСП как идеи уж точно до Pascal-я

А были мнемокоды и стройных Pascal-ей не было
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148242
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не офтопьте товарищи .
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148288
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexandrPlus tru55[quot AlexandrPlus]

Т.е. из этого следует, что Pascal и C появилиcь десять лет назад?

К слову сказать, Prolog появился позже и Pascal и C.
К слову сказать, Pascal создавался как язык для обучения, а C - как инструмент для написания Unix...


Pascal как идея - примерно 1980-1983
Но в практике - где-то с 1990

Pascal-образные АДА и Модула и всяякая дичь - не для обучения вовсе
Хотя Pascal был выбран ДЛЯ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ, а обучали всем языкам - кому что
Фортран для расчетчиков, Кобол для экономистов, ...

А Пролог и ЛИСП как идеи уж точно до Pascal-я

А были мнемокоды и стройных Pascal-ей не было

Да ну? А мужики то не знают

А я то работал на Turbo Pascal 5.0 с 1989г. Наверное приснилось

В реальности Pascal появился примерно в 1969-70 гг, C - на 2-3 года позже.
Модула - это вообще развитие Pascal изготовления того же Вирта (отца Pascal). В свое время смотрел реализацию Модула, но, к сожалению, для Turbo Pascal уже тогда была масса библиотек, которых не было в Модуле. Да и некоторые ее идеи, в частности модули (unit), уже были включены в Turbo Pascal.
Про Prolog не помню, ибо не занимался, но то, что он появился позже Pascal / C - енто точно
Lisp - тот да, как я сказал выше, в районе 1960 г.

Вообще, где то на этом форуме проскакивала ссылка на историю языков программирования, можно поискать
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148361
Фотография TonY.Soprano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonY.Soprano belugin TonY.SopranoА чем defmacro лучше #define blabla ?

defmacro работает в терминал логической труктцры программы а не ее текста.

А можно пример показательный ... Полапидарнее

так всеже ?
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148421
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TonY.SopranoКакая языковая конструкция его таким делает ?
Возможность читать и интерпретировать собственные тексты
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148434
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пью чай с плюшкамиЕсть вещи которые толком и не реализованы более нигде.
+100 можно еще добавить PLANNER
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148487
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexandrPlus tru55[quot AlexandrPlus]

Т.е. из этого следует, что Pascal и C появилиcь десять лет назад?

К слову сказать, Prolog появился позже и Pascal и C.
К слову сказать, Pascal создавался как язык для обучения, а C - как инструмент для написания Unix...


Pascal как идея - примерно 1980-1983
Но в практике - где-то с 1990

Pascal-образные АДА и Модула и всяякая дичь - не для обучения вовсе
Хотя Pascal был выбран ДЛЯ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ, а обучали всем языкам - кому что
Фортран для расчетчиков, Кобол для экономистов, ...

А Пролог и ЛИСП как идеи уж точно до Pascal-я

А были мнемокоды и стройных Pascal-ей не было

Свистите товарищч
Вовсю работал на Паскале в 80-х на ЕС-ках
Prolog с йим появился нос в нос в 70-х
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148520
TonY.Soprano
так всеже ?

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

Хорошие примеры есть в обсуждении статьи Пола Грэма

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Простейший пример:
(defmacro simple-plus-macro (a b)
`(+ ,a ,b))

Если вставим его в программу вроде:
(setf c (simple-plus-macro  4   5 )) то после раскрытия макроса будет компилироваться следующий код:

(setf c (+  4   5 ))

Одна из мощнейших особенностей макросов Лиспа заключается в том, что в них доступен весь язык и ранее определенные функции:

(defun factorial (x)
(if (<= x  1 )  1  (* x (factorial ( 1 - x))))

(defmacro with-factorial ((var argument) &body body)
`(let ((,var ,(factorial argument)))
,@body))

После этого мы можем в коде написать:
(with-factorial (myvar  5 )
(format t "Factorial of 5 is ~D~%" myvar))

значение факториала  5  будет посчитано и присвоено переменной myvar во время компиляции.

А можно, используя reader macros и так написать:
(format t "Factorial of 5 is ~D~%" #.(factorial  5 ))

Значение факториала будет посчитано прямо во время разбора этой строки (до компиляции) и вставлено в код в этом месте.

Для того чтобы это сделать в С++ потребовалось бы писать шаблонный код на языке шаблонов, а не на самом С++. А в Лиспе макрос может пользоваться любыми ранее определенными или даже на ходу определенными функциями.
...
Рейтинг: 0 / 0
Для чего нужен лисп ?
    #35148535
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выпил чай с плюшками TonY.Soprano
так всеже ?

Вкратце, макры примерно тоже, что и функции, но они выполняются на стадии компиляции и порождают текст на лиспе.

Насколько я понял они порождают и берут не текст , а списки - внутреннюю модель лиспа для программы.
...
Рейтинг: 0 / 0
25 сообщений из 74, страница 2 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Для чего нужен лисп ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]