![]() |
|
![]() ![]() ![]() |
|
Kaskad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 24.9.2004 Репутация: нет Всего: 3 |
Собственно, какие возможности есть в лиспе, которых нет в других языках?
![]() -------------------- Well come to America! |
|||
|
||||
simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
Трудно и долго объяснять преимущества и недостатки целого языка программирования, особенного такого монстра как Lisp. Если Вас интересуют преимущества и недостатки в определенной области (а их великое множество), уточните вопрос, пожалуйста.
-------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
Kaskad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 24.9.2004 Репутация: нет Всего: 3 |
Конкретно, меня интересует Лисп в области ИИ.
Вот, хочу сдать сессию и взятся за лисп, стоит ли? Есть желание написать прогу мини-общалку между чеовеком и компом, в которой ИИ будит на основе правил, теорем и аксиом давать ответы на запросы чеовека. Уже есть наработки и примерная схема алгоритма. Но.. Написать подобное на Паскале реально, но не практично ![]() ![]() -------------------- Well come to America! |
|||
|
||||
simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
AI это одна из областей для которых Lisp подходит очень очень хорошо. И для этой области за Lisp взяться стоит, но это не Basic учить и, поэтому, готовься
![]() ![]() -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: -1 Всего: 5 |
Во-первых, языки принято делить на: 1) процедурные (С++, Pascal и пр.); 2) функциональные (lisp, ocaml и пр.); 3) логические (prolog, mercury и пр.). Таким образом, вопрос распадается на два: *1) Чем 2) отличается от всех остальных; *2) Чем лисп отличается от других функциональных языков. Оба - сложные вопросы... Я могу лишь сказать, что мне нравится в Коммон Лиспе: 1) Все можно представить в виде списков, ... 2) ... с которыми удобно работать в функциональном стиле: достаточно описать, что нужно сделать с элементом списка и про-map-ить это на весь список. В работе с векторами и матрицами - это очень удобно; 3) Данные = код. Бывает очень удобно составить список с некоторыми командами (функкиями) и потом просто передать эту "программку" eval-юатору на исполнение; 4) Функции высших порядков. Иногда разные функции делают почти тоже самое. Чтобы не создавать дополнительных сущностей, можно написать одну функцию - ту самую общую часть - а затем просто этой функции передавать дополнительный код; 5) Порядок вычислений. В лиспе можно делать с ним пости все, что угодно ![]() 6) Тип связан yсо значением, а не с переменной. Это - прям как в голове у человека; 7) Перепрограммируемый reader - то есть есть встроенный "лексер", если хотите. 8) У символов могут быть свойства; 9) CLOS - common lisp object system - жемчужена CL. Так, например, потомок может не только унаследовать методы и заменить их, но и задать пред-методы, которые будут выполняться раньше, и пост-методы, которые будут выполняться после родительских методов. Теперь добавим, ... 10) ... динамическую модель памяти, с возможностью изменения части кода после процедуры интерпретирования и запуска программы, ... ... и можно понять, чем же Лисп отличается от других языков. Еще не забудем, что существуют компиляторы с лиспа, которые генерируют бинарный код, который работает быстрее аналогичной программы на С и ФОРТРАН, и можно понять, что медлительность Лиспа - свойство реализации, а не языка как такового. Андрей Это сообщение отредактировал(а) Andrey1 - 16.1.2005, 16:38 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
Kaskad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 24.9.2004 Репутация: нет Всего: 3 |
Где? ![]() -------------------- Well come to America! |
|||
|
||||
simanyay |
|
||||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
В GNU/Emacs, разумеется
В какую категорию подпадают Ruby и AspectJ? -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
||||
|
|||||
Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 1 Всего: 25 |
Ого! Нам бы в ВУЗе такое про лисп расказали мы бы может даже с интересом занимались им... А то смотрим на него и думаем: а нафик он нужен!?
И изучаем мы его на XLisp и задачи типа этой: "Напишите функцию (fullength x), считающую полное количество атомов (не равных nil) в списке x." С одной стороны интересно полазить в нем, а с другой практического применения не видно. Может у кого нить есть интересный пример программы на Лиспе? -------------------- ![]() |
|||
|
||||
Lisper |
|
|||
Unregistered |
Зайдите на http://www.franz.com/success да посмотрите, что пишется на Лиспе.
XLisp не Common Lisp и рядом не валялся с основными реализациями (Allegro CL, LispWorks, CMUCL, SBCL etc.), хотя вещь неплохая, особенно XLispStat. Основная возможность (остальные тоже вносят немалый вклад) - это макросы. Кто не знает, макросы в Лиспе - это программы на Лиспе, которые пишут программы на Лиспе. Хотя для Java и других поп.языков есть какое-то подобие (только не вспоминайте С++ темплэйты ![]() Макросы используются в ходе решения задачи для создания специальных языков, на которые в свою очередь задача может решаться на порядки быстрее. Пример с одного из форумов, где шло такое же обсуждение: | (do-select ((CustomerName CustomerEmail) | :from Customers | :where (> CustomerAge 100)) | (send-email CustomerEmail | :subject "Congratulations!" | :body (format nil | "Dear ~A, you won a prize! Call ~A." | CustomerName company-phone))) Прелесть в том, что для этого не требуется никаких генераторов разборщиков, препроцессоров и т.п. |
|||
|
||||
Lisper |
|
|||
Unregistered |
Не смотря на | форматирование не выдержало
![]()
|
|||
|
||||
Lexaxa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.3.2008 Репутация: нет Всего: нет |
Лисп - супер для написания дополнительных команд в АвтоКаде!!
Знакомый проектировщик написал прогу и сократил время на выполнение работы в неск раз!!! Я сейсчас тоже пытаюсь что-то ихобразить для облегчение своей работы,но я пока только начал учить Лисп,точнее АвтоЛисп.Вообще ничего сложного в нем нет.Есть один минус - в пособиях по Лиспу огромное количество опечаток =) |
|||
|
||||
VH_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
>Lexaxa
Рекомендую посетить(посещать) форум на www.caduser.ru |
|||
|
||||
sandello |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 18.5.2005 Где: Пермь Репутация: нет Всего: 2 |
Прочитай статейку Джоэла Спольски ИМХО, толково объясняет зачем учить лисп. Правда, там не лисп а другой функциональный язык -------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума LISP | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | LISP | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |