LINUX.ORG.RU

конечно стоит! будешь троллить судьбой обиженных лиспофобов - сейчас их тут будет 100500 штук :) Чем хорош - сам решишь, когда освоишь, ибо трудно найти 2-х лисперов с абсолютно одинаковым на этот счёт мнением :)

yyk ★★★★★
()
Последнее исправление: yyk (всего исправлений: 1)

будет ли от его знания какая-нибудь практическая польза?

1. Посчитай кол-во программ на лиспе, которые ты используешь (кроме имакса);

2. Посчитай кол-во вакансий на лиспе;

3. Посчитай кол-во батареек;

4. Сам ответь на свой вопрос.

Deleted
()

На днях «дикий» установил, что станешь «упоротым фошистом».

anonymous
()

Вроде не пятница еще.

gensym ★★
()

будет ли от его знания какая-нибудь практическая польза?

Ну вот откуда нам знать, сможешь ты его применять на практике или нет? Половина тебе сейчас напишет, что успешно применяет язык, другая скажет, что язык на поиграться. По своему опыту могу сказать, что CL довольно удобен в разработке трасляторов, обработке данных и для изощренных конфигураторов. Хотя на все эти позиции есть и другие языки, возможно даже лучше.

staseg ★★★★★
()

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

vurdalak ★★★★★
()

Язык интересен, красив, но будет ли от его знания какая-нибудь практическая польза?

Как минимум, взгляд под другим углом на паттерны проектирования (те, которые GoF). И на XML. И на SQL.

Для полностью трёхмерной картины надо выучить ещё Scheme (хотя бы в объеме SICP) и Haskell.

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

Чем хорош язык?

CLOS — как очень мощная и почти уникальная реализация обобщённых функций с возможность произвольного расширения.

handler-bind — как идея, что не надо при эксепшене всегда завершать текущий процесс. Иногда можно исправиться и продолжить. Технология не уникальная (Александреску то же самое описывает для C++ на стратегиях), но в CL наиболее широко применяемая.

динамические переменные — фактически стек в переменной, очень красивая идея.

макросы — желательно прочитать и про CL и про Scheme. В любом случае, это основной метод больбы с copy/paste, когда функций становится недостаточно.

monk ★★★★★
()

Появилось желание изучать Common Lisp.

Почему бы и нет?

Язык интересен, красив

Да, пожалуй.

будет ли от его знания какая-нибудь практическая польза?

Зависит от тебя. Непосредственно от CL, ИМХО, пользы нет, а вот знание и умение лиспа(мне больше нравится scheme ну или racket для этих целей) пользу принести может.

Чем хорош язык?

Лисп хорош незамутненностью синтаксиса, простыми структурами и кодом-как-данными. Ну и разными следствиями из этого.

forCe
()
Ответ на: комментарий от monk

Спасибо! Лучей добра в карму за ответ!

VeroLom ★★
() автор топика
Ответ на: комментарий от Deleted

1. Посчитай кол-во программ на лиспе, которые ты используешь (кроме имакса);

2. Посчитай кол-во вакансий на лиспе;

3. Посчитай кол-во батареек;

4. Сам ответь на свой вопрос.

1, Посчитай кол-во метёлок в стране.

2. Посчитай кол-во вакансий дворника.

3. Посчитай количество говна на улице.

4. Беги устраиваться дворником, бросай программирование немедленно!

Waterlaz ★★★★★
()
Последнее исправление: Waterlaz (всего исправлений: 1)
Ответ на: комментарий от Deleted

1. Посчитай кол-во программ на лиспе, которые ты используешь (кроме имакса);

В один только Emacs входит куча софта: от AI психоаналитика до почтового клиента. Так что по этому пункту огромнейший «плюс».

urxvt ★★★★★
()
Ответ на: комментарий от monk

Как минимум, взгляд под другим углом на паттерны проектирования (те, которые GoF). И на XML. И на SQL.

взгляд под другим углом

Спасибо, теперь буду знать, какой фразой можно воспользоваться, когда нужно что-то назвать г***ом, но нормы приличия не позволяют.

anonymous
()

LISP давно уже не язык. LISP - просто прилипчивое говно на ботинках анонимного эксперта, тонким слоем размазанное по всему /с/. Анононимный эксперт совершил ошибку, растоптав LISP. Теперь мучается, пытаясь отчистить подошву от этой вонючей дряни. Засело крепко. Понимаешь, просто больше нечего добавить к тому, что уже было написано здесь. Нормальному человеку таких унижений достаточно, чтобы почувствовать всю ничтожность говна, которое он форсит. Но когда имеешь дело с лиспофанбоем — это совсем другой разговор. Он будет отравлять своим LISPом воздух еще долго после растаптывания.

amphibrakhij
()
Ответ на: комментарий от monk

handler-bind — как идея, что не надо при эксепшене всегда завершать текущий процесс

ЛОЛШТО? Рестарты значат то, что при вызове condition стек не обязательно раскручивается до некоего try-catch блока, как в C++, а до произвольного места, в котором происходит обработка этого условия.

amphibrakhij
()

будет ли от его знания какая-нибудь практическая польза?

будет, но лучше немного схемы для знакомства со скобками, а затем хаскель

anonymous
()
Ответ на: комментарий от monk

Для полностью трёхмерной картины надо выучить ещё Scheme (хотя бы в объеме SICP) и Haskell.

И ассемблер с верилогом.

mv ★★★★★
()

Сколько можно однотипных тем про лисп? Вы издеваетесь что-ли?

anonymous
()

Нет. Поскольку ничего не нужно. Другой вопрос — интересен ли он. Да, интересен.

buddhist ★★★★★
()

Lisp - нужен ли?

Это смотря кому. И смотря зачем.

PS: И всё-таки это типичное разжигание флейма. Пока спасает только дата публикации сего «оригинального» материала.

DeVliegendeHollander ★★
()
Ответ на: комментарий от amphibrakhij

Рестарты значат то, что при вызове condition стек не обязательно раскручивается до некоего try-catch блока, как в C++, а до произвольного места, в котором происходит обработка этого условия.

А суть в том, что если ты ловишь исключение, например, что в XML-файле ошибка, то в try/catch у тебя один выход: закрыть файл и завершить работу (ну можно ещё запустить весь процесс заново). А в handler-bind ты можешь сказать парсеру «вернуть вместо ошибочной ноды пустую» и получить сразу весь список ошибок разбора.

monk ★★★★★
()
Ответ на: комментарий от amphibrakhij
(defvar *number*)

(defun calc (cmd)
  (if cmd 
    (let ((token (car cmd)))
      (if (member token '(+ - /))
	  (let ((num *number*))
	     (values (lambda (x) (funcall token x num)) (cdr cmd)))
	  (multiple-value-bind (res rest-cmd) 
	      (let ((*number* token))
	         (calc (cdr cmd)))
	     (let ((*number* (typecase res
			        (number res)
				(t (funcall res *number*)))))
		(calc rest-cmd)))))
	  *number*))

Полная реализация калькулятора с польской записью.

(calc '(2 4 3 + /))
2/7

monk ★★★★★
()

Конечно нужен. Чем хорош - обсуждалось 100500 раз.

но будет ли от его знания какая-нибудь практическая польза?

откуда мне знать, напишешь ли ты на нем что-то годное? но знание - это всегда актив.

Deleted
()
Ответ на: комментарий от monk

Эх, что-то я устал и не распарсю.

Я не понимаю этого «стек в переменной». Если ты про восстановление связывания предыдушего, то это и в лексических есть.

amphibrakhij
()

На практике применяется очень редко. Есть интересные концепции. Если времени много, можно посмотреть для расширения кругозора.

Legioner ★★★★★
()
Ответ на: комментарий от amphibrakhij

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

anonymous
()

Не трать зря время на всякое говно.

anonymous
()

Нет. В плане самообразования - лучше Scheme (а ещё лучше Python (а ещё лучше Haskell)). В плане использования - лучше всё, что не PHP.

Miguel ★★★★★
()
Ответ на: комментарий от DeVliegendeHollander

Lisp - нужен ли?

Это смотря кому. И смотря зачем.

PS: И всё-таки это типичное разжигание флейма. Пока спасает только дата публикации сего «оригинального» материала.

Такой задачи у меня не было, хотя и похоже, мне действительно интересен этот вопрос. На счёт кому/зачем - мне, а зачем - пока не знаю. Смотрю, что пишут. Пока выяснил, что лучше учить Scheme. Посмотрим, что ещё полезного напишут.

VeroLom ★★
() автор топика
Ответ на: комментарий от Miguel

Нет. В плане самообразования - лучше Scheme (а ещё лучше Python (а ещё лучше Haskell)). В плане использования - лучше всё, что не PHP.

Пока использую Perl (успешно использую и зарабатываю этим деньги). Haskell мне не очень нравится (на первый взгляд, толком не изучал), а вот Scheme, видимо, и буду учить.

VeroLom ★★
() автор топика
Ответ на: комментарий от Deleted

1. Посчитай кол-во программ на лиспе, которые ты используешь (кроме имакса);

а чем емакс не угодил?

постоянно(в смысле 90-100% процентов рабочего времени за компом) использую как минимум три софтины, так или иначе использующие диалекты лиспа

2. Посчитай кол-во вакансий на лиспе;

главное то, что они есть

anonymous
()
Ответ на: комментарий от Miguel

а ещё лучше Python

интересно, а чем это вдруг python лучше scheme?

не PHP.

в похапе хотя бы лямбды более-менее полноценные

anonymous
()

(? (- (, (list "И" "кто" "придумал") (list "что" "лисп")) (, "красивый" "выразительный" (list "легко" "читаемый" "язык"))))

templarrr ★★★★★
()
Ответ на: комментарий от anonymous

интересно, а чем это вдруг python лучше scheme?

Тем, что от него есть хоть какая-то практическая польза?

Deleted
()
Ответ на: комментарий от templarrr

Твои познания меня радуют.

А, вообще, на лиспе пишут по другому:

CL-USER 1 > '(откуда столько петушков на ЛОРе)
(откуда столько петушков на ЛОРе)

CL-USER 2 > 
dave ★★★★★
()
Ответ на: комментарий от templarrr

pretty-print , не благодари

(? (- (, (list «И» «кто» «придумал») (list «что» «лисп»)) (, «красивый» «выразительный» (list «легко» «читаемый» «язык»))))

'(?
  (-
   (,(list "И" "кто" "придумал") (list "что" "лисп"))
   (,"красивый" "выразительный" (list "легко" "читаемый" "язык"))))
anonymous
()
Ответ на: комментарий от Deleted

Тем, что от него есть хоть какая-то практическая польза?

мне от лиспа практическая польза, и дома и на работе, всяко больше, чем от гвидомовы

anonymous
()
Ответ на: комментарий от anonymous

На Java:

OpinionFinderAbstractFactorySingletonProxy opinionFinderAbstractFactorySingletonProxy = new OpinionFinderAbstractFactorySingletonProxy(mvc1.CorporateEnterprise(), 
mcv2.getCorporateEnterprise64(),  
mvc13.getCorporateEnterprise941(), 
mvc18.getCorporateEnterprise27());

AbstractSingletonProxyFactoryBean abstractSingletonProxyFactoryBean = opinionFinderAbstractFactorySingletonProxy.getAllInterfacesForClass(mcv2.getCorporateEnterprise64(),  
mvc13.getCorporateEn LEAVE ME ALONE BASTARDS!!!!11 I WANT MY PASSPORT BACK!!!11 
WHERE IS MY FAMILY MOTHER FUCKERS????!!!!!
FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU
FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU 
FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU 
FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU FUCK YOU
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.