О goto в PHP
venezia
[info]kolloid
Небольшое продолжение дискуссии, начатой в твиттере. Надоело ограничение в 160 символов.

Проблема даже не в том, что goto вредный. Да, наверное, можно придумать десяток ситуаций, в которых он полезен.

Проблема не в этом. Проблема в том, что PHP — такой вот эклектичный набор бессистемных хаков. «О, мы выяснили, что чаще всего пользователь ищет в массивах строку "fuck". Давайте добавим в глобальное пространство имен функцию find_fuck. А еще fuck_find для тех, кому нравится обратный порядок аргументов. Ура, заебись!»

Подобные исключения можно добавлять в любой язык пачками, но хорошие language designers стараются этого не делать, вместо этого предоставляя общие средства, с помощью которых легко решать данные задачи. Например, partial application of functions. На эту тему много написано статей, в том числе Ван Россум в своем блоге о Python писал, если я не ошибаюсь.

Я не хочу вести религиозную войну, мне вообще давно уже все равно, что там происходит с PHP. Просто ссылка на эту идиотскую статью, состоящую на 100% из воды («goto нужен в PHP, потому что в ядре Linux тоже используется goto»), немного раззадорила...

Увидел, исправляя ошибку в чужом коде
venezia
[info]kolloid
    def setCommonTplVars(self, cat, d):
        global sections, css_classes, subnav_links # XXX: Probably not the most elegant solution

Хорошо, что хоть сам это понимает. BTW, весь остальной код в данном файле настолько же «элегантный».

До этого года мне казалось, что на Python нельзя написать нечитаемый код. Но на волне роста популярности Django на Python перешла критическая масса пэхапэшников, по-видимому. :(


openFrameworks
venezia
[info]kolloid
Забавное видео.

http://www.openframeworks.cc/

Newforms admin branch merged into trunk
venezia
[info]kolloid
Merged the newforms-admin branch into trunk.

Блин, а я не успел допилить магазин, в котором большая часть функциональности реализована в виде хаков админки. Кошмар, теперь с нуля переписывать?

То есть он настолько ужасно написан (не мной, я только пытался довести его до работающего состояния), что переписать его было бы неплохо. Но где же взять на это время и силы...

Home