psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2005-07-30 04:58 pm

Программирование по-индийски

Говорят, этот фрагмент кода принадлежит какому-то индийскому программисту:

bool function(bool event)
{
    if ( event == true )
        return true;
    else if ( event == false )
        return false;
    else
        return !true && !false;
}

[identity profile] http://users.livejournal.com/-sting-/ 2005-07-30 04:52 pm (UTC)(link)
Атас :)
Настоящая трехуровневая логика :)

[identity profile] ex-l331.livejournal.com 2005-07-31 09:11 am (UTC)(link)
трехзначная. :-)

[identity profile] http://users.livejournal.com/-sting-/ 2005-07-31 08:21 pm (UTC)(link)
Ну да :)
В последнее время больше с микросхемами сталкивался :)

[identity profile] olgagermany.livejournal.com 2005-07-30 05:13 pm (UTC)(link)
Круто.

[identity profile] eugenebo.livejournal.com 2005-07-31 07:21 pm (UTC)(link)
А вот ещё один образец. Это даже работает, только тормозит сильно :)

unsigned int n = 2;
//...
for (int i = 5; i < n; n++)
{
// Do something
}

[identity profile] firtree.livejournal.com 2005-07-31 08:08 pm (UTC)(link)
Не выполнится ни одного раза. Условие i < n с самого начала ложно.

[identity profile] eugenebo.livejournal.com 2005-08-01 04:14 am (UTC)(link)
Мда, ваша правда... Обычно я этот образец вообще без первой строчки пишу, а тут добавил и облажался :)

[identity profile] firtree.livejournal.com 2005-07-31 08:08 pm (UTC)(link)
Если это сишный код, то он мог иметь смысл на старых реализациях, когда не было зафиксировано, что !false - всегда единица. Ну, а на входе в event может лежать не 0 и не 1 - очевидно. Правильные проверки на логику (а не на извращения) - не event == true, а event != false или просто event.

[identity profile] levs.livejournal.com 2005-08-02 12:03 pm (UTC)(link)
врут те кто говорит, китайскому, точно говорю:))))
индиский бы написал бы
вместо return !true && !false; return ""