лисп
Я учу 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
Лисп, юность, детство мое. Ах... Скажите, зачем Вам это сейчас? Я уже давно не слышал о применении этого языка.
Тут недавно предложили работа в Южной Корее, требовалось знание ассемблера, ох. Тоже ведь писал на этом языке. Машинные коды - это нечто такое волшебное, что может понять только неискушенное дельфями и перлами сердце. Это классика. Это инструмент прямого доступа к душе компьютера, к его чувствам, к его возможностям. Это ключ к пониманию лампочек на его экране, к шуршанию его диска, к зависанию его программ. Это красота слога. Это воплощенное кокетство в краткости. Это программа из 4 байт, позволяющая перезагрузить компьютер.
Эх. Это я. Это мое. Это навсегда.
Re:
Из философско-теоретических соображений в основном.
Не для практического применения, по крайней мере, в обозримом будущем, хотя кто его знает, как жизнь повернётся.
Для программиста полезно знать -- не много языков, а много разных, принципиально отличающихся друг от друга языков. Разных типов языков. Лисп - это целый тип языков программирования, заключённый в самом себе. Это отдельный мир, другой способ смотреть на программирование и на задачи, стоящие перед программистом. Пора попробовать впитать в себя и эту традицию, это понимание. Из таких примерно соображений.
Тут недавно предложили работа в Южной Корее, требовалось знание ассемблера, ох. Тоже ведь писал на этом языке. Машинные коды - это нечто такое волшебное, что может понять только неискушенное дельфями и перлами сердце. Это классика. Это инструмент прямого доступа к душе компьютера, к его чувствам, к его возможностям. Это ключ к пониманию лампочек на его экране, к шуршанию его диска, к зависанию его программ. Это красота слога. Это воплощенное кокетство в краткости. Это программа из 4 байт, позволяющая перезагрузить компьютер.
Очень хорошо Вас понимаю. В прошлой жизни я много и с огромным удовольствием писал на ассемблере. Включая все возможные прямые доступы, оптимизацию графики на скорость (и был в этом асом одно время), и даже однажды оптимизацию кода на размер для embedded систем. Это были прекрасные времена.
no subject
Лисп. Реомендую посмотреть на Форт. Некоторые вещи диаметрально противоположны, но класс один. Вам, уверен, понравится.
Вообще, функциональные языки типа Лиспа (Лого, АРЛ, ...) хорошо сравнивать с логическими типа Пролога, Кэнивера... А уж Снобол и Рефал вообще чудесные превращения прочих языков в новые. :)
Кстати, какой Лисп? Родной первый либо же common, standart, france?
Re:
Кстати, какой Лисп?
Пока что, думаю, Common Lisp будет адекватен.
(no subject)
Re:
(no subject)
no subject
no subject
Re:
no subject
Re:
Я думал было учить Схему, а не Лисп, но решил, что всё же от Схемы более попахивает ученичеством. Мне хочется не только понять данную парадигму программирования, но и знать мощный язык, который её воплощает. К тому же изучение Лиспа даёт дополнительную отдачу ввиду его исторической роли и важности. Так мне кажется.
no subject
Там еще много любопытных статей, в том числе про то, как Лисп помог ему опередить конкурентов в создании одного из первых e-commerce движков, который теперь Yahoo! Store.
Когда прочитаешь про Лисп, обязательно посмотри что-нибудь про CLOS (если до сих пор не).
no subject
точно-точно. Схема концептуально "элегантнее", но работать с ней разумно только академикам, да.
а стандарт у нея меньше, потому что в нём нету нифига. обожаю просто этот аргумент.
ежели книжков на бумаге хочешь, так у меня их есть.
no subject
Re:
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
Размер стандарта Схемы - не фетиш и не самоцель, разумеется. Но вот, например, от миллиона стандартизированных способов доступа к элементу массива/sequence в Лиспе (svref мы будем использовать потому, что он оптимизирован для одномерных массивов, а aref - нет) - от этого, право же, просто навзрыд рыдать хочется.
потому что в нём нету нифига. обожаю просто этот аргумент.
В какой степени это правда (отсутствует штатная объектная система), но у Схемы теперь есть SRFIs, которые заполняют многие дыры. Некоторые реализации Схемы приходят со своими очень интересными расширениями (weak boxes, fluids, will executors, units w/ signatures etc), отсутствующими в других реализациях, к сожалению.
Re:
(no subject)
Re:
no subject
no subject
no subject
(Anonymous) 2003-02-08 05:27 am (UTC)(link)Re:
почему старый LISP?
(пардон за репостинг, палец соскочил)
Re: почему старый LISP?
Типовой контроль - вовсе необязательно преимущество; поклонники Лиспа считают его нудным недостатком, и их точка зрения заслуживает изучения, мне кажется. Это одна из причин, по которой я хочу выучить Лисп.
А до Хаскеля я ещё доберусь.
Re: почему старый LISP?
Re: почему старый LISP?
три грубые ошибки в одном предложении. так держать, товарисч!
Re: почему старый LISP?
Re: почему старый LISP?
Re: почему старый LISP?
Re: почему старый LISP?
Re: почему старый LISP?
Re: почему старый LISP?
Re: почему старый LISP?
Re: почему старый LISP? (продолжениу длинного коммента)
no subject
(Anonymous) 2003-02-08 05:28 am (UTC)(link)no subject
CLOS
Кстати есть хорошая книга которую рекомендую:
The Art of the Metaobject Protocol (http://www.amazon.com/exec/obidos/ASIN/0262610744/wwwcrocodilorg)
no subject
Видел однажды под номерным знаком машины 'My other car is cdr'. Был восхищён.
no subject
хотя бы для того, чтобы полноценно писать на мультипарадигменном языке.