metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-03-11 11:16 am

Говнокод

http://jakobz.livejournal.com/249050.html

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

А то напихают sleep(1000) в качестве средства синхронизации, а потом запускается это все на каком-нибудь убер-быстром или убер-медленном железе и оно все дохнет в необъяснимых мучениях.

Впрочем, по ссылке "говнокод" - это код без ООП и паттернов, а они откровенно нахер не нужны в большинстве случаев.

[identity profile] dimaby1.livejournal.com 2015-03-11 08:56 am (UTC)(link)
Я не видел код баллистических ракет, но имею на этот счет 2 мысли:
1) на военщину никогда денег не жалели, так что на гражданке такой метод может быть просто не оправдан.
2) ООП и в особенности паттерны появились не на пустом месте. То что хипстеры читают в учебнике банды четырех более старшее поколение усвоило на своих ошибках. Соответственно и книжка банды четырех для них не такое уж и откровение. Так что вполне вероятно что и свои паттерны были в балистических ракетах и свое наколенное ООП

[identity profile] binf.livejournal.com 2015-03-11 09:10 am (UTC)(link)
нахуй ооп. Нет ни одного нормального аргумента в пользу ооп за исключением "нам так проще смоделировать объекты реального мира" или "нам нужно делать ИНКАПСУЛЯЦИЮ а в с++ нет замыканий", сплошная ёбаная гуманитарщина. рфму

[identity profile] dimaby1.livejournal.com 2015-03-11 09:38 am (UTC)(link)
1) Более или менее единый стандарт кода.
2) проще поддерживать

[identity profile] binf.livejournal.com 2015-03-11 09:54 am (UTC)(link)
не смешите) не вдаваясь в холивар, стандарт там сводится к "каждый дрочит как он хочет" не смотря ни на каие паттерны. Есть лишь общие рекомендации, но они в основном неправильные.
Поддерживать проще если сравнивать с совсем уже сферическим говном в вакууме

[identity profile] tonsky.livejournal.com 2015-03-11 12:28 pm (UTC)(link)
Проблема с паттернами в том что это чисто утилитарная вещь, вроде инструкции к головоломке. Можно вот так сделать, а можно так, такую-то ситуацию можно так решить, а можно эдак. Но они совсем не говорят о том, зачем и почему что-то нужно делать. Этому к сожалению редкая книжка учит, все они больше про технику, чем про цель, смысл и уместность.

[identity profile] binf.livejournal.com 2015-03-11 12:54 pm (UTC)(link)
да, общие советы для ООП. С другой стороны не-ООП - это зачастую более формализованный подход. Как то - лямбда-исчисление в т.н. "ФП" или предикаты дизъюнктов Хорна в Прологе, или что-то из книги Кнута. По сути паттерны те же задачи решают, но для инженера то последнее не сравнимо ближе и понятнее.
Edited 2015-03-11 13:01 (UTC)

[identity profile] gineer.livejournal.com 2015-03-11 02:25 pm (UTC)(link)
Пример, реализации интерактивной оконной диалоговой системы... с применением ФП и более формальных подходов... в студию.

Только полноценный, а не "мы тут на хаскеле на раз два генератор форм делаем", пожалуйста

[identity profile] binf.livejournal.com 2015-03-11 05:08 pm (UTC)(link)
пример, хоть и не полностью "чистый" - react js. Там изначально ООП почти не было, но щас мордокнижники его и из реализации вычищают, и виртуальный DOM делают из простых ассоциативных массивов.
Но вообще то неудачный пример, поскольку UI фреймворки - это раковая опухоль. Говорить о них, как о каком-то достижении IT или примере для подражания - это не смешной троллинг. То, что react js лучший из существующих - факт, для тех, кто в теме. Я использовал в практике наверное почти всё менее чем полностью говёные. Qt, Swing, JavaFX, WPF, меньше HTML5+CSS. Из них лишь последние два не вызывают тошноты и рези в глазах при одном лишь упоминании. Ну и react. Итого WPF - единственный ООПшный UI фреймворк, заслуживающий хоть каких то добрых слов. Да и то, лишь потому, что остальные - ещё больший шэт, чем йобаный хамл

[identity profile] binf.livejournal.com 2015-03-11 05:17 pm (UTC)(link)
а почему вы так негативно настроены по отношению к хаскелю? Если бы там был UI фреймворк с декларативной разметкой и биндингом, я бы перешёл не задумываясь. Но тот факт, что этого нет, вовсе не говорит о том что хаскель плох или ООП это гут

[identity profile] gineer.livejournal.com 2015-03-11 02:22 pm (UTC)(link)
Ну, еще это определенный словарь,
по крайней мере так предполагалось.
Чтобы не рассказывать каждый раз "эта штуковина, с помощью этой хреновины"
но, не прижилось

[identity profile] crastinus.livejournal.com 2015-03-23 04:58 am (UTC)(link)
>нам нужно делать ИНКАПСУЛЯЦИЮ а в с++ нет замыканий
лол. Кресты уже могут полноценные вычисления времени компиляции, а замыкания компиляторы поддерживают уже 3 года.

[identity profile] binf.livejournal.com 2015-03-23 06:01 am (UTC)(link)
ну так с++ и ООП с++style не три года назад появились, не так ли?

[identity profile] eternal-leave.livejournal.com 2015-03-11 09:17 am (UTC)(link)
я видел куски кода, которые отвечали за навигацию в Р36. Вернее сказать, перфокарты видел :)

[identity profile] dimaby1.livejournal.com 2015-03-11 09:37 am (UTC)(link)
Не пора ли закопать стюардессу?

[identity profile] eternal-leave.livejournal.com 2015-03-11 10:15 am (UTC)(link)
Оно до сих пор на вооружении стоит же. В принципе, сейчас работы по программированию тамошних БЦВМ уже нету, разве что ввод новых координат целей.

[identity profile] fhjs9.livejournal.com 2015-03-11 11:17 am (UTC)(link)
о, деревенщина, а ты опять же-каешь