Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
429 / 676 / 125
Регистрация: 10.08.2015
Сообщений: 3,028
1

О жизнеспособности языка Lisp

19.09.2016, 02:44. Показов 2702. Ответов 60
Метки нет (Все метки)

Цитата Сообщение от budden Посмотреть сообщение
Объясните, в чём именно состоит обман.
Прочти сообщение выше. Не знаю насколько это афера, как по мне в лиспе за полвека так ничего путевого и не создали... Тот же лазарь уделает любое лиспоподелье по всем фронтам... Я не говорю про платное, там еще более не в пользу. Но как это согласуется с темой?
Цитата Сообщение от _Ivana Посмотреть сообщение
здесь показан максимально использующий структуры данных, классы и методы java - так получается быстрее и больше шариков летает без замедления.
Смысл того, что я написал в визуальном разделении методов и свойств. Шарики разве это конечная цель? Если уж на то пошло, то связка лиспа с явой должна обеспечивать производительность 3D игры, со сглаживанием, освещением, тенями и т.д. Если нет, то это не выживет... шарики уже лет 25, как не актуальны...

 Комментарий модератора 
Эта тема вынесена из темы https://www.cyberforum.ru/lisp/thread1647502.html
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2016, 02:44
Ответы с готовыми решениями:

Clojure Базовые идеи языка Lisp
википедия уважаемы знатоки, я выбирал язык для освоения по другим признакам (я искал возможности...

Лямбда выражениями и функциями языка Lisp
Всем привет! Помогите пожалуйста разработать функцию, объединяющую два списка в результирующий...

Определить с использованием языка LISP генератор случайных чисел
Определить с использованием языка LISP генератор случайных чисел. Эта функция должна поддерживать...

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

__________________
60
Заблокирован
19.09.2016, 10:42 2
Цитата Сообщение от nullxdth Посмотреть сообщение
Это по тебе. Ты просто не в курсе.
Расскажите нам тогда, что ПРИНЦИПИАЛЬНО новое добавлено в ЛИСП.
А то у меня тоже есть инфа, что ЛИСП - мёртвый язык
И кроме как в автокаде и для скриптования в редакторе Emacs по большому-то счету нигде в коммерческой разработке не используется.
Очень буду рад если это не так
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 13:35 3
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Расскажите нам тогда, что ПРИНЦИПИАЛЬНО новое добавлено в ЛИСП.
Всё что есть в Lisp сложно назвать новым. Но в Lisp есть то, что нет в других популярных языках. Если коротко, то основная штука - это матапрограммирование. Кодогенерация.

Добавлено через 58 секунд
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А то у меня тоже есть инфа, что ЛИСП - мёртвый язык
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Очень буду рад если это не так
Инфа не соответствует действительности. Можешь радоваться.
0
4455 / 2074 / 263
Регистрация: 01.03.2013
Сообщений: 5,511
Записей в блоге: 22
19.09.2016, 14:09 4
nullxdth, при всем к вам уважении, вы же видите поведение данного персонажа. Не вижу возможности считать его адекватным и тем более общаться.

Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Круто.
Т.е. в runTime можно изменять структура класса?
Да, а еще можно 2+2 сложить. И это уже 100 лет как было в Симпсонах. Хотя, это возвращает к сабжу темы об интересных концепциях.
0
Заблокирован
19.09.2016, 14:22 5
Цитата Сообщение от budden Посмотреть сообщение
Да. Это взято из CLOS (там можно так)
А, стесняюсь спросить, зачем это нужно?
В каких задачах?

Добавлено через 2 минуты
Цитата Сообщение от nullxdth Посмотреть сообщение
Если коротко, то основная штука - это матапрограммирование. Кодогенерация.
Программа, изменяющая свой собственный код на "лету"? Макросы?
Я как раз сейчас озадачен такой проблемой: Выбор языка для программ, анализирующих и меняющих свой же собственный код
Мне ещё PROLOG посоветовали.
LISP лучше для этого подходит?

Добавлено через 2 минуты
Цитата Сообщение от nullxdth Посмотреть сообщение
Инфа не соответствует действительности. Можешь радоваться.
Буду радоваться если:
1) Вы мне назовете где в коммерческих популярных широкоизвестных системах используется Лисп. Я, признаться, кроме автокакада и емакса ничего назвать не могу
2) Вы мне назовёте те новые фичи, которые были добавлены в LISP в последние 10 лет
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 14:51 6
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
1) Вы мне назовете где в коммерческих популярных широкоизвестных системах используется Лисп. Я, признаться, кроме автокакада и емакса ничего назвать не могу
Из широко используемых и известных открытых вещей сходу на ум приходят только две: Macsyma и Emacs, да.
Если хочется каких-то success stories, то можно тут посмотреть:
http://www.lispworks.com/succe... index.html
http://franz.com/success/
Вы конечно можете возразить, что это капля в море. И это так.
Только это не меняет того факта, что Common Lisp является отлично спроектированным языком высокого качества. При должном овладении писать на CL - сплошное удовольствие. Common Lisp абсолютно пригоден к разработке промышленного ПО. Фактически Lisp - это чуть ли не единственная технология, которая выжила после AI Winter. Будьте уверены, что пройдёт время и о Java и C++ мы будем вспоминать как о COBOL-е, а Lisp же, как это уже привычно, эволюционирует и останется отличным и продвинутым инструментом разработки.
Малая популярность языка обусловлена непопулярностью синтаксиса, увеличивающего порог вхождения. И так скорее всего будет всегда.

Добавлено через 3 минуты
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Вы мне назовёте те новые фичи, которые были добавлены в LISP в последние 10 лет
Давайте лучше так. Каких фич вам не хватает в Lisp? Дело в том, что даже спустя много лет после стандартизации Lisp, осталось куча вещей, которых нет и по сей день в "современных" языках. Есть фичи, смысл и возможности которых вообще очень плохо изучены до сих пор.
1
Заблокирован
19.09.2016, 15:28 7
Цитата Сообщение от nullxdth Посмотреть сообщение
Common Lisp абсолютно пригоден к разработке промышленного ПО.
Для каких задача?
Обработка текста?
Системы управления?
Операционные системы реального времени?

Добавлено через 2 минуты
Цитата Сообщение от nullxdth Посмотреть сообщение
Давайте лучше так. Каких фич вам не хватает в Lisp?
Нет. Так не будем.
Тема все-таки про "НОВЫЕ" концепции в LISP.
Вот я и интересуюсь (и это интерес не праздный).
Я темой лиспой давно интересуюсь.
Пробовал даже писать на нем. Но как-то потом забросил это дело.
Слишком уж синтаксис у него не дружелюбный
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 15:54 8
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Для каких задача?
Для широкого круга задач. CL - язык общего назначения.
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Обработка текста?
Слишком общая задача. Что конкретно под этим понимать?
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Системы управления?
Вполне.

Добавлено через 1 минуту
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Тема все-таки про "НОВЫЕ" концепции в LISP.
Принципиально нового с какого момента? Есть "старые" концепции, которые требуют осознания и изучения. И их вполне достаточно.
Принципиально нового вообще нет нигде, мне так думается.

Добавлено через 1 минуту
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Слишком уж синтаксис у него не дружелюбный
Это правда. Но достаточно быстро осваиваться и подбираются соответствующие средства редактирования. И тогда уже плюсы такого синтаксиса окупают вложения сил.

Добавлено через 2 минуты
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Мне ещё PROLOG посоветовали.
LISP лучше для этого подходит?
В Lisp матапрограммирование сильнее развито. Хотя и у Prolog есть большой потенциал, но интерес к нему сильно угас по известным причинам и развитие сильно остановилось. К тому же Prolog с трудом можно назвать языком общего назначения. Всё таки он весьма специфичен. В принципе на нём можно писать всё что угодно, но это далеко не всегда удобно.

Добавлено через 7 минут
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Программа, изменяющая свой собственный код на "лету"? Макросы?
Что подразумевается под "на 'лету'"? Кодогенерация/модификация в runtime? Всё современные Lisp-ы имеют ввиду compile time макросы. Т.е. кодогенерацию в compile time. Если же вам нужен именно runtime, то лучше посмотреть в сторону newLISP, если я не ошибаюсь.
1
Заблокирован
19.09.2016, 16:59 9
Цитата Сообщение от nullxdth Посмотреть сообщение
Принципиально нового с какого момента?
Писал же:
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Вы мне назовёте те новые фичи, которые были добавлены в LISP в последние 10 лет
Добавлено через 2 минуты
Цитата Сообщение от nullxdth Посмотреть сообщение
Для широкого круга задач. CL - язык общего назначения.
Все-таки для каких задач LISP имеет преимущество перед использованием .... к примеру того, же C++, C#, Java, Python со спец. библиотеками?
0
Заблокирован
19.09.2016, 17:01 10
Цитата Сообщение от nullxdth Посмотреть сообщение
Что подразумевается под "на 'лету'"? Кодогенерация/модификация в runtime? Всё современные Lisp-ы имеют ввиду compile time макросы. Т.е. кодогенерацию в compile time. Если же вам нужен именно runtime, то лучше посмотреть в сторону newLISP, если я не ошибаюсь.
в runTime.
Спасибо. Понял. Значит LISP для этого не очень подходит.
А то на другом форуме мне его посоветовали.
Видно ошиблись
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 17:08 11
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Все-таки для каких задач LISP имеет преимущество перед использованием .... к примеру того, же C++, C#, Java, Python со спец. библиотеками?
Lisp имеет неоспоримое преимущество, когда нужно расширить язык под собственные специфические нужды. Вот, к примеру, нужно добавить возможность prolog-овой унификации в язык. На Lisp это сделать весьма просто, тогда как на приведенных вами языках практически не возможно, в потребном виде. Вот, к примеру, как мне на Python построить вот хотя бы такое: https://common-lisp.net/project/cl-unification/.
Ответ прост - да никак.

Добавлено через 3 минуты
Как добавить функциональный pattern matching. Вот так, например, https://github.com/m2ym/optima. Как в Python? Никак.
0
Заблокирован
19.09.2016, 17:13 12
Ещё по теме.
Когда я гугли про ЛИСП, там как один из недостатков указывалось, что под ЛИСП нет таких развитых средств отладки, как под языки общего применения.

Что-нибудь сдвинулось в этом плане с мертвой точки?

Вообще IDE нет таких хороших, типа как Visual Studio для C++.
Это так?

Добавлено через 3 минуты
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
в runTime.
Спасибо. Понял. Значит LISP для этого не очень подходит.
Пардон. Оговорился. в Compile-Time
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 17:13 13
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Это так?
Это не так. Lisp исторически имел отличные средства отладки. Фактически Lisp реализует интерактивное программирование. Как было удобно отлаживать и разрабатывать на Lisp, так и осталось. Я бы даже сказал, что равных Lisp-у в этом смысле нет ничего. Разве что автоматические средства рефакторинга отсутствуют, ну это скорее плата за динамику и присуще всем динамически-типизированным языкам.
0
Заблокирован
19.09.2016, 17:17 14
Цитата Сообщение от nullxdth Посмотреть сообщение
Lisp имеет неоспоримое преимущество, когда нужно расширить язык под собственные специфические нужды. Вот, к примеру, нужно добавить возможность prolog-овой унификации в язык. На Lisp это сделать весьма просто, тогда как на приведенных вами языках практически не возможно, в потребном виде. Вот, к примеру, как мне на Python построить вот хотя бы такое: https://common-lisp.net/project/cl-unification/.
Ответ прост - да никак.
Т.е. получается, что ЛИСП, это то что нужно для этой задачи:
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Вообщем нужен ЯПСВУ, который "искоропки" имел бы конструкции, которые позволяли бы писать программы, анализирующие и меняющие свой же собственный код во время компиляции. Т.е. чтобы программа являлась одновременно как бы пользовательским расширением компилятора и языка.
Соответственно, получается, что когда пишешь программу на таком языке, и меняешь ТЕКСТ какой-то её части, то ТЕКСТ других частей программы может при компиляции автоматом измениться {что есть такая штука как "препроцессор" я в курсе - но нужны более серьёзные и радикальные ВСТРОЕННЫЕ в язык средства}.
Добавлено через 1 минуту
Цитата Сообщение от nullxdth Посмотреть сообщение
Как добавить функциональный pattern matching. Вот так, например, https://github.com/m2ym/optima. Как в Python? Никак.
А я читал, что для языков типа общего назначения типа С++ есть спец. библиотеки.
Например SPIRIT для парсинга.
И что есть даже библиотеки, позволяющие писать в ЛИСП-стиле на С++, Java и т.п.
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 17:18 15
ИсмаилПркопенко, совершенно верно. Lisp как раз решает вот эту поставленную задачу.
0
Заблокирован
19.09.2016, 17:23 16
Цитата Сообщение от nullxdth Посмотреть сообщение
совершенно верно. Lisp как раз решает вот эту поставленную задачу.
Это хорошо.
А не получится ли тут как с ассемблером?
Ну, то что на ассемблере ТЕОРЕТИЧЕСКИ можно написать ЛЮБУЮ программу.
Причем с минимальным оверхедом. И с максимальным быстродействием.
А вот практически... На нем практически не пишут.
Слишком долго, муторно и геморно.

С ЛИСП-ом не так?
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 17:33 17
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А я читал, что для языков типа общего назначения типа С++ есть спец. библиотеки.
Например SPIRIT для парсинга.
boost spirit - это генератор LL парсеров. Единственное что вы сможете сделать на boost spirit - это разобрать синтаксис по собственной грамматике с определёнными ограничениями, конечно. Точно также как вы можете взять yacc/bison для Си, cl-yacc для CL или какой-нибудь, скажем, ply для Python или antlr для Java. Только наличие библиотеки генератора парсеров не даёт вообще никакой возможности расширять язык.

Добавлено через 2 минуты
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
С ЛИСП-ом не так?
Некорректно сравнивать Lisp с ассемблером. Lisp - сверхвысокоуровневый язык с возможностью саморасширения. А ассемблер - это скорее противоположность Lisp.

Добавлено через 45 секунд
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
И что есть даже библиотеки, позволяющие писать в ЛИСП-стиле на С++, Java и т.п.
Это как?
0
Заблокирован
19.09.2016, 18:01 18
Цитата Сообщение от nullxdth Посмотреть сообщение
Некорректно сравнивать Lisp с ассемблером. Lisp - сверхвысокоуровневый язык с возможностью саморасширения. А ассемблер - это скорее противоположность Lisp.
Я не об этом.
Я про то, что задачу на Лиспе решить можно, но какой ценой? Какими усилиями?
Может усилий столько потребуется, что проще взять С++ с какой-нибудь надстройкой.
Не?
0
2303 / 1061 / 77
Регистрация: 12.03.2013
Сообщений: 4,978
19.09.2016, 18:06 19
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Я не об этом.
Я про то, что задачу на Лиспе решить можно, но какой ценой? Какими усилиями?
Может усилий столько потребуется, что проще взять С++ с какой-нибудь надстройкой.
Не?
Если конечно проще, то конечно взять C++. Только опыт мне подсказывает, что нифига не проще
0
Заблокирован
19.09.2016, 19:06 20
Цитата Сообщение от nullxdth Посмотреть сообщение
Если конечно проще, то конечно взять C++. Только опыт мне подсказывает, что нифига не проще
Я сам так не делал.
Но читал о таком на программистских форумах типа rsdn и хабр.
Что де и пишется код быстрей, и работает шустрей.
Ну когда используешь какую-то обёртку на С++ позволяющую писать с++ лиспо-подобно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2016, 19:06

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Используя графические функции языка Lisp, произвести построение фрактального элемента, заданного в формате IFS
Используя графические функции языка Lisp, произвести построение фрактального элемента, заданного в...

На оценку жизнеспособности
Процессор Intel Core i3-530 2.93GHz 2.5GT/s 4Mb 2xDDR3-1333 Graf-733Mhz LGA1156 OEM Плата Gigabyte...

Книги или другой источник, где описана история версий Lisp и Common Lisp
Доброго времени суток.Такой вопрос,знаете какой-нибудь источник,где описана история версий Lisp и...

Организация циклов в Lisp (bee lisp demo)
разбираюсь с простыми задачами, эти пока не знаю, как решать... помогите пожалуйста. 1. Слова в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.