[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: