993

Логика программистов

Зарисовка из работы, показывающая особенности мышления программистов. Я каждый месяц покупаю в офисную библиотеку 2 книги по выбору сотрудников. Они их могут брать домой и читать. Библиотека становится большой и чтобы книги не потерялись решили сделать вкладыши в книги, которые будут оставаться на полке и по ним можно отследить у кого книга. Одна сотрудница сделала вкладыши и пошла уточнять у кого книги на руках, чтобы учесть все. Спрашивает у программиста

- У тебя дома рабочая книга есть?


- Нет


- Хорошо, значит у тебя нет рабочих книг.


- Почему это, есть. Она у меня в сумке.


- Так а почему ты сказал что у тебя нет книг?


- Ну она же у меня не дома.

Дубликаты не найдены

80 комментариев

по актуальности
+168

Не вижу ничего смешного, все логично.



Человек, летящий на воздушном шаре, обнаружил, что потерялся. Он спустился немного ниже и заметил на земле женщину. Спустившись ещё чуть ниже, он обратился к ней:


— Простите, не могли бы вы помочь? Я договорился с другом встретиться час назад, но не знаю, где сейчас нахожусь.


— Вы находитесь на воздушном шаре в 30 футах от поверхности Земли, между 40 и 41 градусом северной широты и между 59 и 60 градусом западной долготы ответила женщина.


— Вы, должно быть, программист?


— Да, а как вы догадались?


— Вы мне дали абсолютно точный ответ, но я совершено не представляю, что делать с этой информацией, и я всё ещё потерян. Откровенно говоря, вы мне совершенно ничем не помогли.


— А вы, наверное, менеджер?


— Да. А вы как догадались?


— Вы не знаете, где находитесь и куда направляетесь. Поднялись вы туда, благодаря воздуху. Вы дали обещание, которое не представляете, как выполнить, и ожидаете, что люди, которые находятся ниже вас, решат ваши проблемы. И, наконец, сейчас вы в том же самом положении, в котором находились до встречи со мной, но почему-то теперь в этом оказалась виновата я.

раскрыть ветку 4
+19
Боже... С спешно и страшно и грустно...
+6
Нам этот анекдот математики рассказывают, только вместо программистов - математики)
раскрыть ветку 1
+1

Так про математиков это и был короткий и довольно забавный анекдот, а тут кто-то просто обиду на менеджеров излил.

0
То чувство, когда хочешь написать коммент, а он уже есть.)
+95

Так вопрос нужно правильно задавать. Книга не "дома", а "на руках". Дома книги нет, а на руках - есть. Тут, скорее пример пресловутой женской логики. Девушка хотела спросить, не брал ли программист книг с полки. А спросила совершенно другую вещь - где находится взятая программистом книга. Причём почему-то думала, что это совершенно одинаковые вопросы.

раскрыть ветку 9
+33

да ладно, сотрудница тоже программист, процедура запроса привела к правильному ответу,

но код не оптимизирован

ещё комментарии
-5

На вопрос "у тебя нет книги на руках?" можно точно так же ответить "нет, у меня на руках перчатки". Правильнее было бы спросить "Ты брал такую-то книгу?"

раскрыть ветку 4
+2
На руках- это выражение
0
Тогда он мог бы ответить, что брал, но уже положил...
раскрыть ветку 2
ещё комментарии
+12

Это также как кондуктора в общественном транспорте смотрят на тебя в упор и спрашивают: "Все ли рассчитаны спереди?". А потом обижаются когда ты им не отвечаешь, начинают тебя трогать за плечо и молча смотреть. "Я не в курсе все ли рассчитаны или нет. Меня в председатели передней площадки не выбирали..."

+36

Анекдот в тему:


Жена звонит программисту в середине рабочего дня:

- Дорогой, зайди после работы в магазин. Купи батон колбасы. Если будут яйца, возьми десяток.


Программист после работы в магазине:


- Здравствуйте, сегодня есть в продаже яйца?

- Да есть!

- Дайте десяток батонов колбасы!

раскрыть ветку 7
+4
Батон колбасы? Это как булка хлеба?
раскрыть ветку 2
+15
Как палка хлеба
раскрыть ветку 1
-12
По данному алгоритму он должен взять нечто "десяток" , а не десять батонов. Плюс один батон колбасы полюбому.
раскрыть ветку 3
+1
Я в программировании не очень та кто могу ошибаться, но в данном случае яйца выступают как переменная т.е задача купить палку колбасы(у) но если есть яйца(переменная х=1) значит результат умножаем на 10
Получается как то так
Х=0 то у=1
Х=1 то у=1*10
ещё комментарии
ещё комментарии
+19
анекдот старый вспомнился (да да - древнее зло пробудилось)

Программист ставит себе на тумбочку перед сном два стакана.
Один с водой - на случай, если захочет ночью пить.
А второй пустой - на случай, если не захочет.
раскрыть ветку 3
+3
Тоже странная логика, условие может быть без сопровождающего иначе.
раскрыть ветку 1
+6

либо молодой/начинающий, либо настолько сеньор, что перестраховывается.

0

Хорошо, представим, какие рабочие привычки программист перенёс в быт.


Программист поднимает у себя на хосте два сервера.

Один работающий - на случай, если будут посетители.

Другой не работающий - на случай, если не будут.


Хм, походу какой-то плохой анекдот.

+5

Но ведь вопрос был про дом а не про сумку!

Правильный вопрос - "у тебя есть невозвращённые общие книги?"

+12

Обычная логика, что такого? Ей не нужно было говорить слово "дома".

+3

Не удержался, извините


if (book.Position != Position.AtHome)

{

     return false;

}


Всё логично :D

раскрыть ветку 22
+1

if (book.Position != Position.AtHome)

{

return false;

}

return true;

Иллюстрация к комментарию
раскрыть ветку 18
+7

return book.Position != Position.atHome;

нубы

раскрыть ветку 17
-2

нелогично.


employeeBookStatus[i] = employee.isBookAtHome();


try{

employeeBookStatus[i]=false}

catch(StatusMissmatchException)

throw{employee.getBookPosition}

раскрыть ветку 2
+1

Сэр, используйте более свежий c# при возможности (в java кстати не знаю, есть ли такая возможность?


employeeBookStatus?[i] = employee.isBookAtHome();

employeyeBookStatus?[i] = false;


Тогда try/catch не нужен, и имхо более читабельно.

P.S. судя по именованию методов, вы имели ввиду код на java?

раскрыть ветку 1
0

Прочитал без предыстории, ничего не потерял

-3

var

вещи_программиста: array[0..10] of string

i: int

книга: string

есть: boolean


begin

есть:= false;

i:=0;

книга:='книга';

while (есть = false)

{

if вещи_программиста[i] = книга then есть:= true;

i++;

}

if есть = true then writeln('книга есть') else writeln('книги нет');

end.

раскрыть ветку 5
+10

ПАСКАЛЬ МНЕ В РЕЗЮМЕ ЭТО ЖЕ ПАСКАЛЬ


if есть = true

*facepalm*

раскрыть ветку 2
0
в паскале begin end вместо фигурных скобок
0
Никто не пробовал перевести синтаксис на старославянский?
0

inc(i) может быть, а не++? А то какая-то ядерная смесь паскаля с пайтоном и цэ получилась))

раскрыть ветку 1
+2

Ну если брать в расчёт Delphi начиная с версии 2005 и выше, то борланд (или кто там владельцы сейчас) добавили постфиксные и префиксные инкременты и декременты как и в сях.

-5

Вооот! Когда мне говорят "Поставь чайник" - я ставлю чайник. Включать мне его никто не говорил. Домашние, даже бабушка, уже привыкли :)

раскрыть ветку 4
0
Инициатива наказуема
-1
Но это уже ты дурак. Что тебе должны сказать по-твоему? "Поставь чайник на поставку для чайника, чтобы чайник входил в паз подставки для чайника, наполни чайник холодной пресной водопроводной водой, убедись, что вилка провода подставки чайника находится в розетке, а другой конец провода заходит в подставку для чайника и именно в ту, на которую ты поставишь чайник, убедись, что в розетке есть ток и включи чайник"? Тебе не кажется, что дегенераты здесь не твои домашние? Ах да, я забыл, что наполнять водой нужно именно тот чайник, о котором идет речь, а не любой другой.
раскрыть ветку 2
+1

Што? Я кого-то назвал дегенератом? На кой черт передергивать? Что здесь происходит? Едят ли курицу руками? Речь шла о том, что я забываю включать чайник, после того как его набрал - и мне прощают эту слабость, оправдывая тем, что я программист, а вы тут какую-то херню развели.

раскрыть ветку 1
-5
Обнаружена книга, установить?
-7

Сотрудница виновата. Неправильный вопрос карается неправильным ответом))

Правильный вопрос: "USERNAME, это ты последним взял книгу BOOKTITLE?"

раскрыть ветку 6
0
это ж ей придется всю библиотеку ему перечислять
-2
Вам вопрос не учитывает ситуацию когда "USERNAME" взял книгу не последним.
раскрыть ветку 4
+6
Если он взял книгу не последним, значит уже вернул и её взял кто-то ещё, его и надо искать.
раскрыть ветку 2
0

Вопрос то правильный, но не исцерпывающий.
Брал кингу последним? - Нет.
Значит она у кого-то

-14
Книга даже не у него, она у сумки. То что сумка находится с ним, ничего не значит.
раскрыть ветку 1
+1

Между ними ничего не было, они с сумкой просто друзья.

-19

$a = "книга";
$b="дома"

if $a<> $b .. и так жалее

раскрыть ветку 4
+11
По такой логике "книга" равна только "книга" и никаких "дома", "на руках", "в сумке" и т.д.
раскрыть ветку 1
0

kniga = {

type: 'book',

place: 'lib',

id: Math.random(),

pick: (username)=>{this.place=username.getPlaceForBook(this.id).incBooks(); username.getBooks().append(this.id)},

ret: (username)=>{this.place='lib'; username.getBooks().delete(this.id); username.getPlaceForBook(this.id).decBooks()}

checkPlace: ()=>{return this.place.equals('lib')?1:0}

}


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

+5

Спасибо. Мы по достоинству оценили Ваши навыки и в скором времени примем решение. Мы Вам перезвоним. До свидания.

0

Да, да. Я давно заметил, какая у женщин логика, так они и программируют )))))

ещё комментарии
Похожие посты
Похожие посты не найдены. Возможно, вас заинтересуют другие посты по тегам: