Я учу Lisp (язык программирования такой, для тех, кто не знает). Немного стыдно, что до сих пор его не знал (совсем простые куски кода я умею читать, подцепил где-то случайно, в emacs'е скорее всего; но писать не могу, и язык по-настоящему не понимаю), но как-то не нужен он мне был. Да он мне и сейчас не нужен особенно, но захотелось вот заполнить эту лакуну. От лакуны к лакуне -- так, глядишь, и дойдёшь до чего-то хорошего.
Взял в библиотеке две книги пару недель назад: Lisp (Winston&Horn, 3rd edition), и Programming in Common Lisp (Brooks). Сегодня начал их читать, и если найду ещё немного времени, скачаю и установлю какой-нибудь Лисп поиграться.
Книга Винстона и Хорна более подробна, основательна; вместе с тем более "попсовая" что ли. В тексте сквозит настойчивое стремление объяснить читателю, что Лисп - это совсем не страшно. Вместо car и cdr всегда используются first и last. И много ещё подобных мелочей. Книга Брукса куда более лаконична, написана более уверенным тоном и для людей, уже что-то знающих и уверенных в себе.
Концептуальная простота Лиспа меня восхищает. Я вообще очень падок на концептуальную простоту, и потому очень люблю, например, Smalltalk и Forth, хоть и не работал в них сколько-нибудь долго, не писал ничего действительно серьёзного. Теперь Лисп, наверное, присоединится к этому списку.
Взял в библиотеке две книги пару недель назад: Lisp (Winston&Horn, 3rd edition), и Programming in Common Lisp (Brooks). Сегодня начал их читать, и если найду ещё немного времени, скачаю и установлю какой-нибудь Лисп поиграться.
Книга Винстона и Хорна более подробна, основательна; вместе с тем более "попсовая" что ли. В тексте сквозит настойчивое стремление объяснить читателю, что Лисп - это совсем не страшно. Вместо car и cdr всегда используются first и last. И много ещё подобных мелочей. Книга Брукса куда более лаконична, написана более уверенным тоном и для людей, уже что-то знающих и уверенных в себе.
Концептуальная простота Лиспа меня восхищает. Я вообще очень падок на концептуальную простоту, и потому очень люблю, например, Smalltalk и Forth, хоть и не работал в них сколько-нибудь долго, не писал ничего действительно серьёзного. Теперь Лисп, наверное, присоединится к этому списку.
no subject
Date: 2003-02-08 03:57 am (UTC)Лисп, юность, детство мое. Ах... Скажите, зачем Вам это сейчас? Я уже давно не слышал о применении этого языка.
Тут недавно предложили работа в Южной Корее, требовалось знание ассемблера, ох. Тоже ведь писал на этом языке. Машинные коды - это нечто такое волшебное, что может понять только неискушенное дельфями и перлами сердце. Это классика. Это инструмент прямого доступа к душе компьютера, к его чувствам, к его возможностям. Это ключ к пониманию лампочек на его экране, к шуршанию его диска, к зависанию его программ. Это красота слога. Это воплощенное кокетство в краткости. Это программа из 4 байт, позволяющая перезагрузить компьютер.
Эх. Это я. Это мое. Это навсегда.
Re:
Date: 2003-02-08 04:08 am (UTC)Из философско-теоретических соображений в основном.
Не для практического применения, по крайней мере, в обозримом будущем, хотя кто его знает, как жизнь повернётся.
Для программиста полезно знать -- не много языков, а много разных, принципиально отличающихся друг от друга языков. Разных типов языков. Лисп - это целый тип языков программирования, заключённый в самом себе. Это отдельный мир, другой способ смотреть на программирование и на задачи, стоящие перед программистом. Пора попробовать впитать в себя и эту традицию, это понимание. Из таких примерно соображений.
Тут недавно предложили работа в Южной Корее, требовалось знание ассемблера, ох. Тоже ведь писал на этом языке. Машинные коды - это нечто такое волшебное, что может понять только неискушенное дельфями и перлами сердце. Это классика. Это инструмент прямого доступа к душе компьютера, к его чувствам, к его возможностям. Это ключ к пониманию лампочек на его экране, к шуршанию его диска, к зависанию его программ. Это красота слога. Это воплощенное кокетство в краткости. Это программа из 4 байт, позволяющая перезагрузить компьютер.
Очень хорошо Вас понимаю. В прошлой жизни я много и с огромным удовольствием писал на ассемблере. Включая все возможные прямые доступы, оптимизацию графики на скорость (и был в этом асом одно время), и даже однажды оптимизацию кода на размер для embedded систем. Это были прекрасные времена.
no subject
Date: 2003-02-08 04:30 am (UTC)Лисп. Реомендую посмотреть на Форт. Некоторые вещи диаметрально противоположны, но класс один. Вам, уверен, понравится.
Вообще, функциональные языки типа Лиспа (Лого, АРЛ, ...) хорошо сравнивать с логическими типа Пролога, Кэнивера... А уж Снобол и Рефал вообще чудесные превращения прочих языков в новые. :)
Кстати, какой Лисп? Родной первый либо же common, standart, france?
Re:
Date: 2003-02-08 04:32 am (UTC)Кстати, какой Лисп?
Пока что, думаю, Common Lisp будет адекватен.
(no subject)
From:Re:
From:(no subject)
From:no subject
Date: 2003-02-08 03:58 am (UTC)no subject
Date: 2003-02-08 11:08 pm (UTC)Re:
Date: 2003-02-08 11:24 pm (UTC)no subject
Date: 2003-02-08 04:04 am (UTC)Re:
Date: 2003-02-08 04:14 am (UTC)Я думал было учить Схему, а не Лисп, но решил, что всё же от Схемы более попахивает ученичеством. Мне хочется не только понять данную парадигму программирования, но и знать мощный язык, который её воплощает. К тому же изучение Лиспа даёт дополнительную отдачу ввиду его исторической роли и важности. Так мне кажется.
no subject
Date: 2003-02-08 05:09 am (UTC)Там еще много любопытных статей, в том числе про то, как Лисп помог ему опередить конкурентов в создании одного из первых e-commerce движков, который теперь Yahoo! Store.
Когда прочитаешь про Лисп, обязательно посмотри что-нибудь про CLOS (если до сих пор не).
no subject
Date: 2003-02-08 05:34 am (UTC)точно-точно. Схема концептуально "элегантнее", но работать с ней разумно только академикам, да.
а стандарт у нея меньше, потому что в нём нету нифига. обожаю просто этот аргумент.
ежели книжков на бумаге хочешь, так у меня их есть.
no subject
Date: 2003-02-08 05:53 am (UTC)Re:
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2003-02-08 07:24 pm (UTC)Размер стандарта Схемы - не фетиш и не самоцель, разумеется. Но вот, например, от миллиона стандартизированных способов доступа к элементу массива/sequence в Лиспе (svref мы будем использовать потому, что он оптимизирован для одномерных массивов, а aref - нет) - от этого, право же, просто навзрыд рыдать хочется.
потому что в нём нету нифига. обожаю просто этот аргумент.
В какой степени это правда (отсутствует штатная объектная система), но у Схемы теперь есть SRFIs, которые заполняют многие дыры. Некоторые реализации Схемы приходят со своими очень интересными расширениями (weak boxes, fluids, will executors, units w/ signatures etc), отсутствующими в других реализациях, к сожалению.
Re:
From:(no subject)
From:Re:
From:no subject
Date: 2003-02-08 07:10 pm (UTC)no subject
Date: 2003-02-08 04:17 am (UTC)no subject
Date: 2003-02-08 05:27 am (UTC)Re:
Date: 2003-02-08 05:38 am (UTC)почему старый LISP?
Date: 2003-02-08 12:42 pm (UTC)(пардон за репостинг, палец соскочил)
Re: почему старый LISP?
Date: 2003-02-08 12:47 pm (UTC)Типовой контроль - вовсе необязательно преимущество; поклонники Лиспа считают его нудным недостатком, и их точка зрения заслуживает изучения, мне кажется. Это одна из причин, по которой я хочу выучить Лисп.
А до Хаскеля я ещё доберусь.
Re: почему старый LISP?
From:Re: почему старый LISP?
Date: 2003-02-08 01:38 pm (UTC)три грубые ошибки в одном предложении. так держать, товарисч!
Re: почему старый LISP?
From:Re: почему старый LISP?
From:Re: почему старый LISP?
From:Re: почему старый LISP?
From:Re: почему старый LISP?
From:Re: почему старый LISP?
From:Re: почему старый LISP?
From:Re: почему старый LISP? (продолжениу длинного коммента)
From:no subject
Date: 2003-02-08 05:28 am (UTC)no subject
Date: 2003-02-08 06:44 pm (UTC)CLOS
Date: 2003-02-08 07:59 pm (UTC)Кстати есть хорошая книга которую рекомендую:
The Art of the Metaobject Protocol (http://www.amazon.com/exec/obidos/ASIN/0262610744/wwwcrocodilorg)
no subject
Date: 2003-02-10 02:57 am (UTC)Видел однажды под номерным знаком машины 'My other car is cdr'. Был восхищён.
no subject
Date: 2003-12-13 10:13 am (UTC)хотя бы для того, чтобы полноценно писать на мультипарадигменном языке.