gornal: (фото)
gornal ([personal profile] gornal) wrote2014-12-17 02:49 pm

Осенило

Любимое разработчиками слово "костыль" означает ровно необходимость применения оператора if. "Избавление от костылей" - если не упрощение функционала, то добавление уровня абстракции, избавляющего от использования if через, например, виртуальные функции.

[identity profile] kouzdra.livejournal.com 2014-12-17 01:05 pm (UTC)(link)
Напомню только что if элементарно реализуется через виртуальные функции: в Smalltalk он именно так и реализован:

Там есть класс bool с методами ifTrue и ifFalse, которые вычисляют значение своего параметра. И наследники этого класса с инстансами true и false с соответствующей реализацией этих методов :)))
Edited 2014-12-17 13:10 (UTC)

[identity profile] oboguev.livejournal.com 2014-12-18 01:18 am (UTC)(link)
"Но под одеждой-то они все равно голые".
То есть в ассмблере там все равно появляется condition branch.
Не уверен, в чем состоит смысл его тщательно прятать.
(Я-то конечно вообще нос чайником: например не испытываю терзаний по поводу оператора goto и употребляю его когда уместно.)