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

Re: Несколько вопросов вразброс



On 2012.07.02 at 09:35:58 +0400, Artem Chuprina wrote:

> 
> Знаешь, по сравнению с шеллом, к которому ты почему-то испытываешь
> доверие, синтаксис перла - просто недостижимый идеал логичности и
> лаконичности :-) И уж во всяком случае перл, в отличие от шелла, таки
> позволяет писать большие надежные приложения.  Есть опыт, ага.

К синтаксису Перла испытывают недоверие в основном те, кто Camel Book не
осилил, а учил Перл по Муфлону. Логику, лежащую в основе этого языка,
невозможно выучить только на примерах. Надо все-таки основополагающий
концептуальный труд осилить. А там тыща страниц.

> А если ты хочешь действительно прекрасного синтаксиса, возьми tcl.  У
> него _полное_ описание синтаксиса и семантики укладывается, если я
> правильно помню, в одну страницу A4, а if - всего лишь процедура из
> стандартной библиотеки.  И все необходимое из того, что я описывал, есть.

Все-таки man-страница Tcl(3Tcl) содерщащая указанное полное описание,
при печати занимает несколько больше, чем одна страница А4. То-ли три,
то-ли десять, не помню уже. 

Но тем, кто по прочтении этой страницы сможет начать успешно писать на
Tcl я рекомендую срочно переключаться на Common Lisp. У людей, которые
способны так работать с логикой, мозги под Lisp заточены.

Вообще когда я в свое время (лет этак 15 назад) осваивал Tcl, меня в нем
привлекла именно идеят "лиспа для неспециалистов в области CS". Все как в
Лиспе, но базовый объект не список, а куда более понятная обычному
человеку строка.

Но практика последующего  развития языка показала, что попытка Остерхута
создать Lisp для нематематиков скорее оказалась неудачной. Вот попытка
Ларри Уолла создать "естественный" компьютерный язык вышла несколько
лучше.


> А по-моему, нарушение ортогональности - это как раз модификация
> результата чтения конфига в использующем его скрипте.

Это с какой стороны посмотреть. Если первичной сущностью для нас
является "конфиг" то да. А если первичной сущностью является "параметр",
то модификация его после загрузки умолчательного значения из конфига 
всего лишь такой, достаточно естественный, способ расставить приоритеты
возможных источников значения параметра.

См. по этому поводу X Resource Database (которая переусложнена и
извращенна, но именно поэтому её стоит рассматривтаь как учебный пример)
или более простой вариант - option database в Tcl/Tk.


Reply to: