Re: awesome
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Sat, 21 Nov 2009 23:10:35 +0300:
AC>> Хаскель, впрочем, тоже язык, говорят, вполне вменяемый. Только человек,
AC>> на которого оно ориентировано - образованный, а не кодер-самоучка с PHP
AC>> наперевес :-) Другое дело, что, подозреваю, с фичами там так себе.
AC>> Потому что хаскелисты - они все возвышенные. А лисперы - практики...
DEO> я два часа примерно не мог понять почему конструкция
DEO> a = [
DEO> что-то
DEO> ]
DEO> дает ошибку (причем не синтаксическую), а конструкция
DEO> a = [
DEO> то же самое
DEO> ]
DEO> работает.
DEO> Вынос мозга. возможно возвышенный :)
DEO> Хотя программы не планировал на ём писать, а чисто несколько
DEO> переменных в конфиг.
Особенность софта, написанного функциональщиками (хотя бы
относительными, типа лисперов) _для себя_ заключается в том, что им
удобнее писать конфиг на том же языке. Хаскелисты вон, говорят, дошли
аж до того, что их не смущает идея необходимости перекомпилировать WM
для изменения конфигурации :-)
Лисперам, впрочем, сам -бог- МакКарти велел - парсер и исполнятор
лисповского кода по определению встроен в любую лисповскую программу, и
при этом синтаксис языка настолько прост и регулярен, что придумывать
более простой язык для конфига и потом отдельно писать его парсер -
овчинка выделки не стоит. На простых задачах конфигурирования он не
будет принципиально проще, чем то же самое записать на лиспе, а на
сложных все равно понадобится весь лисп со всеми наворотами. В том же
положении авторы приложений на tcl.
У прочих (виденных мной) языков с eval разработка отдельного языка
конфига бывает осмысленной. У языков без eval - сам понимаешь, других
вариантов просто нет. Вернее, язык-то можно взять и готовый - а вот
парсер делать придется. Тут в качестве языка, как я понимаю, lua хорош
(не поручусь - я его не знаю). Или все тот же самый tcl. Но это все не
то по сравнению с возможностью _всю_ обработку конфига записать как
source ~/.programrc
или
(load-file "~/.programrc")
--
Greenspun's Tenth Rule of Programming: any sufficiently complicated C
or Fortran program contains an ad hoc informally-specified bug-ridden
slow implementation of half of Common Lisp.
-- Phil Greenspun
"Including Common Lisp."
-- Robert Morris
Reply to:
- Follow-Ups:
- Re: awesome
- From: "Dmitry E. Oboukhov" <unera@debian.org>
- References:
- awesome
- From: "Dmitry E. Oboukhov" <unera@debian.org>
- Re: awesome
- From: Artem Chuprina <ran@ran.pp.ru>
- Re: awesome
- From: "Dmitry E. Oboukhov" <unera@debian.org>