Я учу 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 07:24 pm (UTC)Размер стандарта Схемы - не фетиш и не самоцель, разумеется. Но вот, например, от миллиона стандартизированных способов доступа к элементу массива/sequence в Лиспе (svref мы будем использовать потому, что он оптимизирован для одномерных массивов, а aref - нет) - от этого, право же, просто навзрыд рыдать хочется.
потому что в нём нету нифига. обожаю просто этот аргумент.
В какой степени это правда (отсутствует штатная объектная система), но у Схемы теперь есть SRFIs, которые заполняют многие дыры. Некоторые реализации Схемы приходят со своими очень интересными расширениями (weak boxes, fluids, will executors, units w/ signatures etc), отсутствующими в других реализациях, к сожалению.
Re:
Date: 2003-02-09 02:04 am (UTC)DrScheme -- красивая штука, например.
но мне очень не нравится общая атмосфера вокруг Схемы. такой язык с огромным, видным отовсюду пупком, и соответствующим образом ведущие себя адепты.
мне так же не нравится, что самая популярная имплементация может кардинально (и не всегда совместимо) изменяться от версии к версии. с этим можно жить, но неприятно. я боюсь использовать research vehicles для работы.
SRFI -- не замена нормальному стандарту.
принцип "one namespace for functions and variables" мне кажется весьма неудобным. стандартизованная система обработки ошибок и CLOS мне кажутся совершенно необходимыми. от continuations я вижу больше вреда и путаницы, чем пользы. ситуация вокруг конструкта dynamic-wind меня просто смешит.
а наличие трёх разных способов добраться до элементов массива я уж как-нибудь переживу, да.
no subject
Date: 2003-02-09 07:23 am (UTC)Это можно сказать про любой язык, главное - найти адептов.
Re:
Date: 2003-02-09 09:07 am (UTC)community -- очень важный аспект любой технологии.