June 3rd, 2010

default

"Ленивые" языки и гуманизм

По результатам нескольких сеансов тяжелой некромантии имею сказать следующее:

Создавать переменную при первом ее упоминании, и присваивать ей уникальный тип с уникальным значением - порождает геморрой по поиску опечаток значительно больший, чем явное декларирование переменных.

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

Особую пикантность к "ленивому" подходу создает необходимость писать все конструкции вида y=f2(f1(x)) как:

local x1
if х then
x1=f1(x)
if x1 then y=f2(x1)
end
end

Ага, ушли от декларирования переменных, говорите ?