← Все публикации

Программисты и джинны

Как писал Дуглас Адамс, компьютеры — самые старательные исполнители в мире и в этом смысле похожи на очень глупого но очень старательного ученика. Они делают в точности то, что мы им говорим, а не то что мы подразумеваем. И будто всегда находят способы показать тебе где ты что-то не учёл.

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

"Хочу, чтобы программа считала проценты!"

"Хочу работать с датами!"

  • потирает лапки В феврале то 28 дней, то 29, а в UTC+14 уже завтра, когда у тебя ещё вчера.

"Сделаю так, чтобы на сатйе пользователи могли вводить имена!"

  • Роберт'); DROP TABLE Students;-- уже спешит познакомиться.

Отладка вообще превращается в допрос джинна:
panic: runtime error: invalid memory address or nil pointer dereference
—_ Почему nil pointer dereference?_
— Потому что ты не сказал, что делать с null.
—_ Но там не может быть null!_
— показывает логи Сюрприз! 😁

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

Но прелесть конечно в том, что если ты достаточно аккуратен — джинн будет вынужден делать именно то, что нужно. Буквально. До последней буквы. Главное помнить: он всегда ждёт момента, когда ты скажешь «тут всё просто, что может пойти не так?»

Этот же пост в Telegram ↗