Войти | Регистрация
Свежие: анекдоты, истории, мемы, фразы, стишки
Случайные: анекдоты, истории, мемы, фразы, стишки

История №1339342

Коротко про программирование и бесконечный поток проблем⁠⁠.

Ты берешь новый инструмент — молоток, чтобы забить гвоздь. При попытке ударить по гвоздю, молоток взрывается. Потому что ты дурак забыл сдвинуть переключатель "не взрываться при забивании гвоздей". Ок, пробуешь снова. Оказывается, что забивать гвозди можно только под строгим углом в 90 градусов, так как разработчик молотка не добавил подобную возможность в библиотеку.

Ходишь по комнате, разрабатывая план действий. Решаешь переделать оригинальную библиотеку, реализующую молоток. Разбираешься в чужом дерьмокоде и убираешь начисто этот странный переключатель, а также добавляешь фичу на произвольный угол.

При попытке удара по гвоздю, молоток ломается надвое, так как гвозди несовместимы с версией молотка, у них появились новые зависимости. Ты обновляешь молоток, чтобы поддерживал гвозди из палладия последней версии.
При ударе молотком о гвоздь, оказывается, что у деревяшки, в которую ты забиваешь гвозди, превышены API rate limits, провайдер деревяшки не разрешает забивать так много гвоздей как тебе надо, так как его сервера этого не выдержат.

Ты ставишь ограничения на частоту забивания гвоздей. Чтобы молоток ударял по гвоздю не чаще 1 раза в 1 секунду. Но из-за необходимости все же выполнять работу быстро, ты масштабируешь систему и ставишь 100 таких установок, где каждый молоток забивается 1 гвоздем... да, именно так. Оно работает, просто не трогайте!

В результате стена, к которой всё это крепилось, падает. Потому что у нее произошел таймаут общения с полом, а переподключаться она не умеет....

Ах, да, документация...

Документация: "function X(). Does X."

Реальность: "Функция X делает X, если повезёт с погодой на Венере. Правда, неплохо бы сначала вызвать ещё Y и Z, о чёи в доках нет ни слова, а примеры - от API предыдущей версии, в которой вообще всё было не так. В случае неудачи не возвращает ничего (как и в случае успеха), иногда может просто зависнуть. Сорцов от неё нет, но вы можете попробовать её декомпилировать, чтобы понять, что её писал в доску пьяный индус-практикант."
+145
Проголосовало за – 256, против – 111
Статистика голосований по странам
Статистика голосований пользователей
Чтобы оставить комментарии, необходимо авторизоваться. За оскорбления и спам - бан.
27 комментариев, показывать
сначала новые

ystervark03.08.22 09:04

Все написано правильно, но относится к редкому случаю - "программист реально чего-то пишет". Более частый случай - "программист нашел в Apache библиотеку, которая более-менее делает то, что надо, спросил на Stackoverflow, как ее использовать, получил ответ, скопировал его к себе в код, и все. Потом вписал знание этой библиотеки себе в резюме".

+0
ответить

Ellick 02.08.22 21:20

Расскажите про свои трудности щахтерам.

+1
ответить

Alexander_A 02.08.22 20:47

Идея замечательная.
Исполнение убогое.

+1
ответить

Andreiiiii02.08.22 20:36

Индусы, индусы. Вы не видели кода от голландцев. Разобраться в нем можно только по укурке. Поэтому никто не понимал, почему это работает.

+2
ответить

Zewrus 02.08.22 19:11

Вот я - ни разу не программист, но почему всё так близко и знакомо? Может, потому что я инженер, обслуживающий оборудование, в котором одна половина комплекта была создана в Махачкале, а вторая - в Челябинске? И программное обеспечение написано так же - половина в Челябинске, а другая половина - в Махачкале.

+0
ответить

Мефодий1 ➦Zewrus02.08.22 23:46

Я правильно понял, что для оборудования, созданного в Махачкале, программу писали в Челябинске?
И наоборот, для челябинского оборудования - программу писали в Махачкале?

+3
ответить

Zewrus ➦Мефодий103.08.22 15:14

К счастью нет :) и я не знаю, где конкретно сводили потом обе части в один интерфейс, но получилось довольно своеобразно. Если интересна конкретика - это азимутальный маяк DVOR-2000(2700) (Махачкала) и дальномерный ответчик DME-2700 (Челябинск). К счастью, на непосредственную работу па мороки с интерфейсом) не влияют - техника получилась достаточно надëжная. Нот портят кровь при ТО и ремонте (пока крайне редком)

+0
ответить

Мефодий1 02.08.22 19:09

Я где-то видел подобную оценку разных языков программирования.

Программирование на C++: чтобы купить туалетную бумагу, Вы должны
показать унитаз и попу.

Программирование на Visual Basic: Когда Вы покупаете туалетную бумагу, в
Вашу корзину положат еще унитаз и попу.

Программирование на ЛИСП: когда вам оказывается нужна туалетная бумага,
Вы задаете себе мудреный вопрос в виде длинного списка, в который входят
и бумага, и попа, и унитаз, и ваши руки, и сливной бачок, с определенной
вложенностью друг в друга и порождением друг друга, и весь этот вопрос
сводится к ответу ДА или НЕТ вроде "а не воспользоваться ли туалетной
бумагой, (которая пригодна для... (при помощи... (перед тем как...
(посредством... (за ручку, являющуюся частью... (с целью... ))))))?",
причем едва Вы решаете "Да, воспользуюсь", как тут же исчезают
динамически существовавшие лишь на время Вашего размышления над этим
вопросом бумага, попа, унитаз и прочее, и Вы остаетесь с излучающим
решимость действовать ответом "Да, сейчас воспользуюсь", но уже без
бумаги, попы и унитаза.

Программирование на JavaScript: Как и в случае с С++, для приобретения
туалетной бумаги Вы должны предъявить унитаз и попу. Когда бумага
наконец получена и Вы пытаетесь ею воспользоваться, обнаруживается, что
у Вас нет прав ни поднимать крышку унитаза, ни дергать за слив, ни
выходить из туалета, ни включать в нем свет, ни находиться в нем
бесконечно долго.

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

Программирование на С: Вы произносите одно довольно короткое, но
многоэтажное ругательство - и в мгновение ока все присутствующие
обоср@ны.

Программирование на Фортране: один унитаз одновременно используется
всеми посетителями, садящимися друг другу на голову и имеющими
склонность, едва заняв место и начав процесс вывода, внезапно терять
сознание навсегда, не прекращая процесса. Бумагу по мере использования
никто не отрывает, для каждого очередного посетителя тот же рулон
отматывается к началу.

+4
ответить

Andreiiiii➦Мефодий102.08.22 22:04

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

+0
ответить

Мефодий1 ➦Andreiiiii02.08.22 23:42

Я не знаю этой задачи, но могу точно сказать, что "прострелить себе ногу" лучше всего получается на С и С++.
Эти языки заточены под создание ошибок в программах.
Это мне сказал не кто-нибудь, а опытнейший программист на С++ с 20-летним стажем.

+0
ответить

Andreiiiii➦Мефодий103.08.22 07:15

https://www.anekdot.ru/id/69405/

Впрочем, там еще не все языки. Существуют другие версии.

Насчет заточенности под создание ошибок - я не такой специалист в языках программирования, чтобы утверждать подобное. Могу говорить разве что о степени "непонятности" написанного. Вот тут С даст фору очень многим паскальподобным языкам.

+1
ответить

Andreiiiii➦Мефодий103.08.22 07:17

И на каждом языке можно писать более-менее понятно, а можно так завести рака за камень, что сложно сказать даже самому через неделю.

+0
ответить

Мефодий1 ➦Andreiiiii03.08.22 10:18

Почитал. Весело!

+0
ответить

SudokuFan 02.08.22 17:36

Про пьяных индийцев это вы зря, они всё на трезвую голову пишут.

+1
ответить

Andreiiiii➦SudokuFan02.08.22 20:34

Зимой в Астане индус по вечерам выпивал графинчик водовки, закусывал салатиком. Утром выглядел очень больным. И так месяц за месяцем проекта...

+1
ответить

April19➦Andreiiiii02.08.22 21:38

Потом выяснилось, что это был не индус.

+1
ответить

Andreiiiii➦April1902.08.22 22:02

Знаете, не надо пытаться острить там, где ничего не понимаете.

+0
ответить

April19➦Andreiiiii02.08.22 22:24

Что, по вашему, может быть непонятным в вашем комментарии? Имеется ли какой-то секретный код и тайный смысл в словах "Астана", "водовка", "графинчик","салатик" и "индус"?

+0
ответить

Andreiiiii➦April1902.08.22 22:45

То, что индус был настоящий, что вы "юмористически" решили подвергнуть сомнению. Кстати, классный был специалист, нашим типичным программистам до такого уровня учиться и учиться.

+0
ответить

April19➦Andreiiiii02.08.22 23:34

Минусы под вашими комментариями не мои. Сейчас обнулю.
Не подвергала сомнению ваш рассказ, просто прикололась на тему пьянства - сами знаете, кого принято считать большими любителями водки. Вот это анекдот еще внезапно вспомнился.
https://www.anekdot.ru/id/982588/
И вот получилось такое порождение Ехидны и Тифона.
Я очень стандартная. И шутки у меня такие же.

+-1
ответить

max32➦April1903.08.22 05:57

нормальная шутка, во всяком случае намного лучше унылого коммента про индуса: зима, чужая страна, холодно, ежедневный похмел, идиотский бесконечный проект как и этот идиотский бесконечный холод, сплошной депресняк.

+1
ответить

Andreiiiii➦max3203.08.22 07:04

Кто сказал, что проект идиотский или что был постоянный депресняк? Наоборот, было очень весело и задорно. И, что самое интересное, на тот проект ушло меньше года. Аналогичные проекты в других странах продолжались по несколько лет.

+1
ответить

max32➦Andreiiiii03.08.22 12:37

что же он так беспробудно пил, от избытка веселья?

+1
ответить

Andreiiiii➦max3203.08.22 13:45

Вы не догадываетесь? Чтобы согреться. У него в Индии +18 - это дикий холод, а тут -35 с ветром. Он и в комнате сидел возле батареи на солнечной стороне. Был второй, да тот удрал через две недели, сказал, что никакие деньги не окупят его страдания. А "нашему" деваться было некуда, платили хорошо, да и кастой не вышел, чтобы перед начальством хорохориться.

+1
ответить

max32➦Andreiiiii03.08.22 23:27

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

+0
ответить

Алексей 18 02.08.22 17:27

При попытке ударить по гвоздю, молоток взрывается

Так это не молоток а мина.

+0
ответить

DarkMike➦Алексей 1804.08.22 13:36

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

+0
ответить

Общий рейтинг комментаторов
Рейтинг стоп-листов

Рейтинг@Mail.ru