Говнокод
http://jakobz.livejournal.com/249050.html
Все бы это хорошо, пока речь не идет о многопоточном коде или коде, из которого надо выжать предельную производительность. Вот тут то говнокод работать и перестает, его проще выкинуть и сделать заново, чем исправлять.
А то напихают sleep(1000) в качестве средства синхронизации, а потом запускается это все на каком-нибудь убер-быстром или убер-медленном железе и оно все дохнет в необъяснимых мучениях.
Впрочем, по ссылке "говнокод" - это код без ООП и паттернов, а они откровенно нахер не нужны в большинстве случаев.
Все бы это хорошо, пока речь не идет о многопоточном коде или коде, из которого надо выжать предельную производительность. Вот тут то говнокод работать и перестает, его проще выкинуть и сделать заново, чем исправлять.
А то напихают sleep(1000) в качестве средства синхронизации, а потом запускается это все на каком-нибудь убер-быстром или убер-медленном железе и оно все дохнет в необъяснимых мучениях.
Впрочем, по ссылке "говнокод" - это код без ООП и паттернов, а они откровенно нахер не нужны в большинстве случаев.
no subject
"Библиотеки и оверлеи", реализующие в процедурных языках ООП - это что-то вроде гейского изврата на подобие Angular js? нафиг нафиг. Если ЯП не поддерживает протоколов/интерфейсов/Duck typing, то разумно было бы вообще забыть об ООП.
"перегрузка функций по сигнатурам" - это не ООП, и это грабли
no subject
Показать же, что вышеперечисленное является особенностью ООП вам не удалось.
Динамический полиморфизм (данных, как свойств) можно изобразить и на SQL.
В каких еще подходах существует наследование (или обобщение) реализации?
В каких подходах в процессе выполнения программы существуют защищенные области памяти, называемые объектами, управлять которыми можно посылкой сообщений?
no subject
== Показать же, что вышеперечисленное является особенностью ООП вам не удалось.
ненене, это особенность именно внедрения ООП в JS. Само по себе ООП может быть весьма полезным. Например, когда в кложе что-то примитивное прикидывается протоколом. Или утиная типизация. Или то, как работают интерфейсы в TypeScript. Много примеров на самом деле
== Динамический полиморфизм (данных, как свойств) можно изобразить и на SQL.
можно на чём угодно. но результат не всегда заслуживает приложенных усилий тащемто
Наследование - никто, согласен. Но это спорная концепция.
== В каких подходах в процессе выполнения программы существуют защищенные области памяти
да везде в замыканиях. Есть (агрегированные) функции чтения/записи и скрытая монада, управляющая состоянием. Это повсеместно применяется
no subject
>Наследование - никто, согласен. Но это спорная концепция.
Вижу, ты сам понимаешь, что полиморфизм/виртуальные функции это зло, да и наследование, по большому счёту, зло тоже.
А делаешь вид, что нуб - нехорошо...
no subject
no subject