Сохранен 23
https://2ch.hk/pr/res/1062767.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

После многих лет разработки до меня наконец-то

 Аноним 16/09/17 Суб 13:18:57 #1 №1062767 
assumption is the mother of all fuckups.gif
После многих лет разработки до меня наконец-то дошло, что является основной проблемой.
Не фичи языка или костыли, которые мы создаем.
Не сбор требований и нехватка данных.
Не написание надежного кода и его тестирование.
И даже не изменения как таковые.
Главная проблема — это предположения. Пока они выполняются, все работает. Как только предположение оказалось нарушенным — все, приехали.
В динамикодрисне вся работа кода построена на предположениях, которые нельзя автоматически проверить. Весь код придется выкинуть и переписать, или внимательно проверить вручную, что по трудозатратам равноценно.
В супернадежном Хачкеле, "ко-ко-ко скомпилировалось значит работает", нарушение предположений опять же заставит переписать все релевантные части — слишком уж он ригиден для изменений. Или изначально надо писать суперобобщенный код, везде протаскивать конфигурацию через Reader и охуевать от многословности, которой в функциональщине быть как бы и не должно.
И только в жабоподобных языках все в порядке. Золотая середина между надежностью и возможностью впихнуть костыль в любое место. Что-то поменялось, выяснился неизвестный факт? Добавим пару строчек в XML-конфиг, вытащим условие посреди кода, как фокусник вытаскивает кролика из шляпы, и все снова в порядке. Новые предположения все равно не абсолютны, так что вылизывать код каждый раз — пустая трата времени. Накопится долг — перепишем все с учетом вновь открывшихся данных.

Именно поэтому жабогоспода всегда будут прилично зарабатывать, не напрягаясь, а хипстеры и борщехлебы будут вынуждены каждый день читать про новые фреймворки, монады с линзами, получая лишь долю того, что платят жабабогу. И пока задроты изучают технологии, у жабабояр есть время на развитие софтскиллз, социализацию и рост в синьоры/тимлиды/менежмент.
Аноним 16/09/17 Суб 13:23:02 #2 №1062770 
>>1062767 (OP)
s/предположения/контракты/g
Аноним 16/09/17 Суб 13:25:05 #3 №1062771 
>>1062770
Нет, именно предположения как часть реального мира, а не кодоориентированные контракты, которые лишь увеличивают ригидность.
Аноним 16/09/17 Суб 13:29:30 #4 №1062774 
>>1062771
Не понял, как ты собрался проверять предположения и какие, в этом смысле, отличия между динамодрисней и жавой?
Аноним 16/09/17 Суб 13:38:53 #5 №1062778 
>>1062774
Пример простого предположения:
"Если товар в наличии, покупатель хочет купить его. Если товара нет в наличии, покупатель хочет узнать о его появлении."
И в жабе, и в пхп мы можем прописать это условие. Но завтра оказывается, что мы учли не все:
"Если товар в наличии, покупатель хочет купить его. Если товара нет в наличии, покупатель хочет узнать о его появлении или предзаказать его."
В жабе мы просто добавляем значение Preorder в ButtonTypeEnum и добавляем обработку везде где надо. В пхп мы делаем как бы то же самое, но есть один нюанс: IDE не сделает работу за нас, найти все места для изменений придется самостоятельно. Чем сложнее предположения — тем сильнее страдает пыхораб, а для жабобогов сложность не принципиально не меняется.
Аноним 16/09/17 Суб 13:45:25 #6 №1062782 
Предположил что мать ОПа выебали хачи, а потом он родился
Аноним 16/09/17 Суб 13:50:10 #7 №1062785 
>>1062778
То есть в пхп ни фреймворков, ни волшебную иде не завезли? Что ж хуево...
Аноним 16/09/17 Суб 14:13:26 #8 №1062800 
>>1062778
> В пхп мы делаем как бы то же самое, но есть один нюанс: IDE не сделает работу за нас, найти все места для изменений придется самостоятельно.
Чтааааа, это серьёзно? У пыходебилов за все это время не появилось нормальной иде?
Аноним 16/09/17 Суб 15:01:23 #9 №1062816 
>>1062785
>>1062800
IDE/фреймворки сами по себе чудес сотворить не могут, язык должен быть предрасположен к тому, чтобы они могли приносить настоящую пользу.
Взгляните на код средней жаба-макаки. Он отвратителен, но, если макака не обмазывается рефлексией, то IDE может исправить этот код без участия человека, ведь система типов достаточно хороша, чтобы не наломать дров.
А теперь взгляните на код средней пхп-мартышки. Где-то используются кошерные фичи фреймворка, где-то есть аннотации типов, но большая часть является неструктурированной лапшой, вместо объектов используются словари/массивы/строки. Сами объекты зачастую являются бессмысленной синглтон-оберткой над процедурщиной.

Да, с должной дисциплиной любой язык позволяет писать нормальный код, в котором IDE сможет разобраться. Но в пхп такой код писать бывает сложно(и не все хотят напрягаться), а в жабах такой код сложно не написать.
Аноним 16/09/17 Суб 16:35:09 #10 №1062879 
>>1062767 (OP)
>Хочкиль
Жавамартышка размышляет о том, чего не может знать и понимать. Жавамартышке лучше забыть о хачкиле и продолжить крыть хуями динамикопетушков
Аноним 16/09/17 Суб 17:14:19 #11 №1062895 
На чем разрабатывал то?
Аноним 16/09/17 Суб 17:51:13 #12 №1062910 
>>1062767 (OP)

Остановись, пока не поздно. Это костенеет мозг, отказ от предположений ведет к деградации до ГО-программиста.
Аноним 16/09/17 Суб 19:45:11 #13 №1062946 
14741070218980.jpg
>>1062778
>просто добавляем значение Preorder в ButtonTypeEnum и добавляем обработку везде где надо
>добавляем обработку везде где надо
>добавляем
>везде
>просто
Всегда проигрываю с паттерно-дебилов.
Почему бы сразу не признаться, что ради одной кнопки, нужно перелопатить половину файлов в проекте?
Аноним 16/09/17 Суб 22:55:20 #14 №1063009 
>>1062767 (OP)
Открой для себя свифт. С типизацией все охуенно аки в Хачкелле, но при этом очень гибок. Даже некое ощущение, что на скриптоязыке ебашишь, при этом никаких допущений, компилятор везде тебя подстрахует.
Аноним 16/09/17 Суб 23:06:45 #15 №1063012 
>>1063009
>но при этом очень гибок.
Только это просто костыль для objc/c/cpp на которых написаны все API в маке/айос
Аноним 16/09/17 Суб 23:07:47 #16 №1063014 
>>1063009
>но при этом очень гибок.
Только это просто костыль для objc/c/cpp на которых написаны все API в маке/айос
Аноним 16/09/17 Суб 23:16:49 #17 №1063020 
>>1062778
> Найти все места
А потом оказывается что часть этих мест в скомпилированном class-файле, написанном уволившимся сотрудником 4 года назад с кучей грязных хаков, декомпилятор шлёт нахуй, что код на самом делает - нихуя непонятно, доков нет, а разбираться в байткоде джавамакаку не учили.
Аноним 17/09/17 Вск 00:12:44 #18 №1063043 
>>1062767 (OP)
> социализация
> рост в менеджмент
> не понимает, что изучение монад с линзами - это удовольствие, а не работа
Чувак, что ты тут забыл?
Аноним 17/09/17 Вск 05:54:29 #19 №1063086 
>>1062778
У тебя какие то перевратные представления о структуре интернет магазинов на пхп. Преордер это один новый метод в контроллере который обрабатывает заказы, будет вызываться по клику на кнопку "Предзаказать", новый метод в модели заказа, будет создавать заказ с пометкой что это предзаказ, новый столбец в таблице заказов, там будет инфа о том предзаказ это или нет, ну и какие то изменения во вьюхах. И все.
В чем тут преимущества явы на пхп, не ясно.
Аноним 17/09/17 Вск 14:46:53 #20 №1063165 
>>1063012
>>1063014
Любой язык - костыль для asm, на котором написан загрузчик оси.
Аноним 19/09/17 Втр 04:52:07 #21 №1063733 
>>1062778
>>1062767 (OP)
ОП - хуй который решил всем показать какой он охуительный, но сразу обосрался ИТТ.
Аноним 19/09/17 Втр 05:03:22 #22 №1063734 
tom-kruz46968921orig.jpeg
>>1062800
Кекнул с программиста на IDE.
>>1062778
А тут я кекнул с манявров. Заметьте как он видит добавление новой функции. Он даже выстраивает диалог так, чтобы вы не смогли догадаться что это всего-то добавление новой функции. Но дальше просто пушка "IDE не сделает работу за нас", то есть это уже норма что в 2к17 ты как-бы работая программистом сам признаёшься что ты нихуя не умеешь без IDE.
Аноним 20/09/17 Срд 22:49:05 #23 №1064418 
>>1063165
Пришел тут день, когда забыли о платформонезависимых языках, стартующих без ОС ?
comments powered by Disqus