![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://jakobz.livejournal.com/249050.html
Все бы это хорошо, пока речь не идет о многопоточном коде или коде, из которого надо выжать предельную производительность. Вот тут то говнокод работать и перестает, его проще выкинуть и сделать заново, чем исправлять.
А то напихают sleep(1000) в качестве средства синхронизации, а потом запускается это все на каком-нибудь убер-быстром или убер-медленном железе и оно все дохнет в необъяснимых мучениях.
Впрочем, по ссылке "говнокод" - это код без ООП и паттернов, а они откровенно нахер не нужны в большинстве случаев.
Все бы это хорошо, пока речь не идет о многопоточном коде или коде, из которого надо выжать предельную производительность. Вот тут то говнокод работать и перестает, его проще выкинуть и сделать заново, чем исправлять.
А то напихают sleep(1000) в качестве средства синхронизации, а потом запускается это все на каком-нибудь убер-быстром или убер-медленном железе и оно все дохнет в необъяснимых мучениях.
Впрочем, по ссылке "говнокод" - это код без ООП и паттернов, а они откровенно нахер не нужны в большинстве случаев.
no subject
Date: 2015-03-11 04:45 pm (UTC)"Библиотеки и оверлеи", реализующие в процедурных языках ООП - это что-то вроде гейского изврата на подобие Angular js? нафиг нафиг. Если ЯП не поддерживает протоколов/интерфейсов/Duck typing, то разумно было бы вообще забыть об ООП.
"перегрузка функций по сигнатурам" - это не ООП, и это грабли
no subject
Date: 2015-03-11 04:56 pm (UTC)Показать же, что вышеперечисленное является особенностью ООП вам не удалось.
Динамический полиморфизм (данных, как свойств) можно изобразить и на SQL.
В каких еще подходах существует наследование (или обобщение) реализации?
В каких подходах в процессе выполнения программы существуют защищенные области памяти, называемые объектами, управлять которыми можно посылкой сообщений?
no subject
Date: 2015-03-11 06:26 pm (UTC)== Показать же, что вышеперечисленное является особенностью ООП вам не удалось.
ненене, это особенность именно внедрения ООП в JS. Само по себе ООП может быть весьма полезным. Например, когда в кложе что-то примитивное прикидывается протоколом. Или утиная типизация. Или то, как работают интерфейсы в TypeScript. Много примеров на самом деле
== Динамический полиморфизм (данных, как свойств) можно изобразить и на SQL.
можно на чём угодно. но результат не всегда заслуживает приложенных усилий тащемто
Наследование - никто, согласен. Но это спорная концепция.
== В каких подходах в процессе выполнения программы существуют защищенные области памяти
да везде в замыканиях. Есть (агрегированные) функции чтения/записи и скрытая монада, управляющая состоянием. Это повсеместно применяется
no subject
Date: 2015-03-11 08:01 pm (UTC)>Наследование - никто, согласен. Но это спорная концепция.
Вижу, ты сам понимаешь, что полиморфизм/виртуальные функции это зло, да и наследование, по большому счёту, зло тоже.
А делаешь вид, что нуб - нехорошо...
no subject
Date: 2015-03-12 06:46 am (UTC)no subject
Date: 2015-03-12 01:11 pm (UTC)