![]() |
|
![]() ![]() ![]() |
|
||
|
dr_jumba |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.9.2006 Где: Украина Репутация: 1 Всего: 1 |
Интересно кто для чего использует Lisp
|
|||
|
||||
wwall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 28.9.2006 Репутация: 3 Всего: 4 |
хоби. Узнать что-то новое
|
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
Изучал. Хотел найти применение, не нашёл (как и с Prolog, кстати). Понимаю важность декларативного программирования, но, думаю, она начнёт, скорее, появляться, в императивных языках.
|
|||
|
||||
Lisp2D |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.6.2006 Репутация: нет Всего: нет |
Немного продвигается идея GNU насчет открых исходников
Для маленьких задач очень удобно все программировать на Лиспе (а он по сути явный интерпретатор то бишь GNU) Может быть этот язык будет все все более популярным |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
За более чем полвека существования Лисп так и не добился широкой популярности, и вряд ли в обозримом будущем что-то изменится. На мой взгляд, ему суждено остаться инструментом отдельных профессионалов. А REPL чрезвычайно удобен не только для маленьких задач. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
Думаю, будущее за многопарадигменными языками. В императивные языки уже стали вводит функциональные средства (Python, C# 3.0, Fortran). Также имеются языки и с другой стороны: Common Lisp, Visual Prolog (VPI), которые являются многопарадишменными. Вопрос в том, с какой стороны лучше двигаться к этому. Думаю, со сороны императивных это будет легче и логичнее, как когда-то был переход asm -> FORTRAN. Это следующая серьёзная стадия эволюции импертивных языков: повышается надёжость кода, уменьшается его размер, повышается интеллектуальность компиляторов, всё больше ошибок будет проверяться на этапе компиляции, программирование приобретает декларативные черты. Что же касается CL, то, возможно, просто на его нише рядом с ним стоят другие, более "привлекательные" языки.
|
|||
|
||||
Амортизатор2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.2.2006 Репутация: нет Всего: 2 |
Мало знаком с Lispom, но видел пару исходников на нем. Сложилось впечатление, что поддерживать и сопровождать калькулятор, написанный на лиспе, сложнее, чем веб-сервер, написанный на асемблере. Думаю, в этом и кроется причина непопулярности лиспа для повседнеынх прикладных задач. Возьмите любой проект на Java, .NET, C++ - если сделано как положено, перед тобой будет четко структурированный код. На втором месте стоит, конечно же, отсутствие приличной инфраструктуры для лиспа - если сравнить с перечисленными технологиями и языками, число библиотек и пр. готовых решений ничтожно мало, а сущетсующих портов не хватает.
Видимо, применение Лиспа и в дальнейшем будет ограничено специфическими областями? Кстати, кто-нибудь не расскажет об особенностях применения Лиспа при решении задач ИИ? |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Совершенно неверное впечатление. Сложность восприятия в значительно большой мере определяется уровнем абстракций, которыми оперирует код, нежели синтаксисом, будь то S-выражения или привычный алголоподобный синтаксис. Думаю, стоит почитать «On Lisp» Пола Грэма, хотя бы первую главу. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Амортизатор2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.2.2006 Репутация: нет Всего: 2 |
Void, это, думаю, на любителя. Меня вот их скобочки достали через две минуты после просмотра кода. И о том, чтобы еще и писать на нем, речь даже не идет. Мне легче выпить йаду
![]() |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Я написал комментарий к конкретной фразе, которую процитировал. Если действительно встанет такая необходимость, поддержка хорошо спроектированного ПО на Лиспе вряд ли будет сложнее, чем мегатонны индусского кода на C++/Java/whatever. Мозг адаптируется к синтаксису быстро.
Впрочем, написал и вспомнил один эпизод: когда тот же Пол Грэм ушёл из Yahoo, они вынуждены были в значительной мере переписать созданный им на Лиспе движок «Yahoo! Store» на, если не ошибаюсь, PHP. Но конкретные причины этого решения могут быть не столь очевидны. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Амортизатор2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.2.2006 Репутация: нет Всего: 2 |
Void, а разве Lisp имеет железную защиту от индусов? Даже если особенности функционального подхода, который реализован в Lips'e, и позволяют избавиться от распространенных ошибок, присущих императивному стилю, все равно универсальной защиты от дурака нет и быть не может. К тому же есть очень большие сомнения по поводу пригодности использования функционалки в болльших проектах. Вопрос еще спорный, что будет лучше выглядеть и легче поддерживаться - код на Lisp, пусть и свободный от слайд-эффектов, или грамотно спроектированный проект на C++/Java/.NET. Системные архитекторы ведь не зря свой хлеб жуют.
Добавлено @ 16:39 Void, нет ли у тебя информации, насколько язык реализации влияет на эффективность проектирования ИИ? В частности, желательно бы получить сравнение какого-нибудь универсального императивного языка -cpp forexample- и того же Lisp-a? |
|||
|
||||
svg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 13.4.2005 Репутация: 14 Всего: 18 |
Аллергия на скобки обычно проходит через 3 дня, перестаешь замечать. Наличие редактора с подсветкой и навыками синтаксического разбора минимально необходимо для комфортной работы, но это вроде бы не очень серьезное ограничение. Если в природе существует секта фанатиков NotePad или строчных редакторов мне бы было интересно познакомиться с патологией их религии. Некоторое время уходит на отказ от вредной привычки просматривать весь код целиком, что является необходимостью в других языках. Чтение листинга на Lisp или Prolog более декларативно - структура и отношения между частями кода легко выясняются без углубления в детали. |
|||
|
||||
Амортизатор2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.2.2006 Репутация: нет Всего: 2 |
Ну и вдогонку. Не стоит забывать, что стандарт ANSI Common Lisp не поддерживает инкапсуляцию - а как быть без нее, и на кой без нее нужен полиморфизм? Я даже вот так скажу: как без инкапсуляции можно эффективно реализовать объектный полиморфизм? Быть может там есть какие-то языковые особенности, которые позволяют это обойти (повторюсь, я практически не знаком с языком), но сам факт настораживает.
Добавлено @ 16:52
Если, скажем, проект уровня предприятия? |
|||
|
||||
svg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 13.4.2005 Репутация: 14 Всего: 18 |
Промышленно применяемый Lisp ( Common Lisp в основном ) не является функциональным языком и даже не пропагандирует функциональный стиль, скорее наоборот, удобство работы с динамическими переменными и успех CLOS делают его использование более императивным чем всех прочих языков. Единственный из известных мне языков, который успешно и оправданно на практике следует функциональному стилю - Erlang. |
|||
|
||||
svg |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 13.4.2005 Репутация: 14 Всего: 18 |
Лучше уточнить, что именно имеется в виду. Нет ничего более запутанного, чем терминология. И на инкапсуляцию, и на полиморфизм мне в голову приходят около десятка различных вариаций проявления этих свойств. Одних полиморфизмов, напрягшись, можно насчитать около двадцати, из низ штук пять точно попадут под определение "объектный".
Не понял различия. Какая разница какой статус присвоен проекту? Оперирующие "уровнями" код не читают, а читающим - наплевать на "уровень". Это сообщение отредактировал(а) svg - 22.10.2006, 17:23 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума LISP | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | LISP | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |