Я учу 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, хоть и не работал в них сколько-нибудь долго, не писал ничего действительно серьёзного. Теперь Лисп, наверное, присоединится к этому списку.
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
Date: 2003-02-08 04:42 am (UTC)Да, коммон лучше. На мой взгляд, конечно.
Пакеты, хэш-массивы...
Скажите, а KRL и FRL (хотя это уже не совсем язык)? ARL?
Re:
Date: 2003-02-08 04:48 am (UTC)KRL - это который knowledge representation? Не знаю тоже.
no subject
Date: 2003-02-08 04:53 am (UTC)Позвольте Вас во френды. Я думаю, это необходимость :)