psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2007-01-23 09:10 pm

Торможу

"Программист ставит себе на тумбочку перед сном два стакана. Один с водой – на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет."

Я программист. Смысла онекдота не понимаю :)

Если бы написали так:
"А второй пустой - на случай, если не пить."
- я бы подумал, что намек на поссать. Но тогда при чем тут программист. А так - хз...

Поясните! :)

[identity profile] morri-gun.livejournal.com 2007-01-23 06:22 pm (UTC)(link)
а я вот совершенно не понимаю смысла анекдота про блондинку, которую можно занять на любое количество времени, дав в руки лист бумаги, на котором с обеих сторон написано "переверни" ;(

[identity profile] shamany.livejournal.com 2007-01-23 06:28 pm (UTC)(link)
так в реальной жизни обрабатываются эксепшены.

[identity profile] kong-en-ge.livejournal.com 2007-01-23 06:38 pm (UTC)(link)
Есть и более сложные для понимания анекдоты:
Жена посылает мужа-программиста в магазин:
-- Купи колбасы. Если будут яйца -- возьми десяток.
В магазине:
-- У вас яйца есть?
-- Есть!
-- Тогда дайте десять палок колбасы.

[identity profile] ex-neo-is-fl156.livejournal.com 2007-01-23 06:57 pm (UTC)(link)
Я думаю, что загвоздка в том, что не смотря на то, что этот анекдот о программистах, этот анекдот не для программистов.

Наверняка есть люди, у которых этот анекдот вызывает какие-нибудь ассоциации (или воспоминания? ;)) и им смешно

[identity profile] ex-azhol699.livejournal.com 2007-01-23 07:53 pm (UTC)(link)
Есть всего 10 типа людей: те кто понимают эти анекдоты, и кто не понимает.

[identity profile] uncle-lex.livejournal.com 2007-01-23 08:42 pm (UTC)(link)
А пустой стакан - это возвращаемое значение функции.

[identity profile] darth-mozg.livejournal.com 2007-01-23 09:18 pm (UTC)(link)
а смысл вот в чем: if хочет пить then полный else if не хочет then пустой;

любой нормальный программист делает такие усложнения. иногда

Привет!

[identity profile] terminalhead.livejournal.com 2007-01-23 09:23 pm (UTC)(link)
Пожалуйста добавь меня в друзья!

Да просто он на С пишет ;)

[identity profile] declonter.livejournal.com 2007-01-23 10:10 pm (UTC)(link)
выпить (хочу_пить?стакан_с_водой:стакан_без_воды);
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2007-01-24 12:02 am (UTC)(link)
Он заядлый функциональщик. Ифов не приемлит, как мерзкое творение императивного мира, пользуется только триарным оператором. Пить (хочу ? стакан-с-водой : стакан-без-воды). :)

[identity profile] eugenebo.livejournal.com 2007-01-24 06:00 am (UTC)(link)
Это на более высоком уровне, нежели if...then.

Нужна мне, например, функция F, которая берёт на вход два параметра: массив данных и объект класса, обладающего методами для предварительной обработки (скажем, Фурье-преобразования или сглаживания) этих данных. И F изнутри эти методы будет всячески многократно там вызывать.

Фурье-преобразование можно написать разными способами. И какой конкретно метод будет в жизни использоваться, пока не понятно. Но хочется написать так, чтобы алгоритм F не зависел от конкретной имплементации сглаживания или там преобразования. А между тем уже видно, что функция F по своей натуре должна быть ну такая сложная, что вот прямо неделю отлаживать надо, пока заработает! Что делать?

Одним из способов "развязать" зависимости между F и "поставщиком данных" для неё будет определить F так, что на вход она берёт интерфейс класса, выполняющего сглаживание. Затем быстренько унаследовать от этого интерфейса (можно даже "пустой стакан", который ничего и не делает), и написать и отладить F, подавая на вход текущий вариант класса. А когда F уже "плавать научится", тогда и "воду напустим", создав полную имплементацию интерфейса и дав её на вход. Старую имплементацию интерфейса (равно как и все последующие от 3rd parties) держим на тумбочке на случай, если понадобятся :)

Как я уже сказал, этому приёму возможны альтернативы. Но иногда бывает удобнее всего именно так.

Разумеется, после расшифровки анекдот перестаёт быть смешным, как и всякая разжёванная шутка :)

[identity profile] famulan.livejournal.com 2007-01-24 11:33 am (UTC)(link)
Вы явно не видели кода индийских программистов :-)