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

Говнокод

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

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

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

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

[identity profile] binf.livejournal.com 2015-03-11 09:24 am (UTC)(link)
Изначальная идея ООП, как его понимал Алан Кей - динамическая маршрутизация вызовов на основе окружения средствами рантайма. Она не плоха. Проблема в дуракахб задроченных на классы, которые интерпретируют ООП в духе java/c++

[identity profile] fhjs9.livejournal.com 2015-03-11 11:16 am (UTC)(link)
сразу видно что ты задроченный чувак.

[identity profile] binf.livejournal.com 2015-03-11 12:07 pm (UTC)(link)
ебанись мудило. Я не задорчен, это просто ты тупой, не понимаешь простейших терминов

[identity profile] metaclass.livejournal.com 2015-03-11 01:33 pm (UTC)(link)
Забей, этот товарищ - это же глазоф, он настоящий псих-щизофреник со справкой, с которым ЖЖ никак справится не может.
В смысле, с ним всерьез общаться бесполезно :)

[identity profile] binf.livejournal.com 2015-03-11 01:43 pm (UTC)(link)
вот нахальный гандон!

[identity profile] 6w5c.livejournal.com 2015-03-12 10:50 am (UTC)(link)
твой аватар намекает на то, что ты себя считаешь гандоном. так что ты кричишь-то?

[identity profile] 6w5c.livejournal.com 2015-03-12 10:47 am (UTC)(link)
не переводи стрелки. это ты настоящий псих.

[identity profile] 6w5c.livejournal.com 2015-03-12 10:49 am (UTC)(link)
куда же мне до твоего уровня, моська :)

[identity profile] vinslivins.livejournal.com 2015-03-11 12:11 pm (UTC)(link)
просто бля уже надоело объяснять жавистам и шарперам что их обделили,
и теперь нам остаётся только вяло отмахиваться и относится со снисходительностью к братьям нашим меньшим

которые в упор не подозревают, какие вредители делали их платформу

[identity profile] cross-join.livejournal.com 2015-03-11 12:19 pm (UTC)(link)
Изначальная идея ООП - симуляция процессов средствами процедурного и модульного программирования тяжела.
http://arbinada.com/main/node/1376

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

[identity profile] cross-join.livejournal.com 2015-03-11 01:15 pm (UTC)(link)
Не в абстракциях, а в языковых концепциях и их натягивании на другие области применения, ранее не предусмотренные.

[identity profile] binf.livejournal.com 2015-03-11 01:45 pm (UTC)(link)
может и так. Как не назови, но сводится к механизму выбора одной или нескольких функций в зависимости от динамических типов или значений аргументов.

[identity profile] cross-join.livejournal.com 2015-03-11 01:55 pm (UTC)(link)
ООП к этому сводится??
Если П - это "подход", то там только обмен сообщениями в концепте.
Если П - "программирование", то динамические вызовы были доступны в процедурных языках подгрузкой библиотек и оверлеев, перегрузкой функций по сигнатурам, не говоря уже об интерпретаторах.

[identity profile] binf.livejournal.com 2015-03-11 04:45 pm (UTC)(link)
Да, именно к "динамическому полиморфизму". Точнее, к мультиметодам лиспа и виртуальным функциям. Это и есть "формат" сообщений в контексте понятия "подход".
"Библиотеки и оверлеи", реализующие в процедурных языках ООП - это что-то вроде гейского изврата на подобие Angular js? нафиг нафиг. Если ЯП не поддерживает протоколов/интерфейсов/Duck typing, то разумно было бы вообще забыть об ООП.
"перегрузка функций по сигнатурам" - это не ООП, и это грабли

[identity profile] cross-join.livejournal.com 2015-03-11 04:56 pm (UTC)(link)
Эмоциональные оценки типа "грабли" или "изврат" не несут никакой информации.
Показать же, что вышеперечисленное является особенностью ООП вам не удалось.
Динамический полиморфизм (данных, как свойств) можно изобразить и на SQL.
В каких еще подходах существует наследование (или обобщение) реализации?
В каких подходах в процессе выполнения программы существуют защищенные области памяти, называемые объектами, управлять которыми можно посылкой сообщений?

[identity profile] binf.livejournal.com 2015-03-11 06:26 pm (UTC)(link)
Ну а что бы вы хотели, чтобы я стал здесь внезапно копипастить про ужосы ангуляра? Вряд ли это хорошая идея в формате дискуссии. В данном жж нельзя постить ссылки, но в гуглах этого есть много, и любой желающий может подробно прочесть об издержках внедрения java-style ООП в JS. Не согласны? мне остаётся лишь смириться и как то жыть дальше. Я завёл об этом речь потому, что кроме JS, ни одного примера искусственного внедрения ООП туда, где его нет, мне в голову не приходит. Можете примеры привести чего-то ещё?

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

ненене, это особенность именно внедрения ООП в JS. Само по себе ООП может быть весьма полезным. Например, когда в кложе что-то примитивное прикидывается протоколом. Или утиная типизация. Или то, как работают интерфейсы в TypeScript. Много примеров на самом деле

== Динамический полиморфизм (данных, как свойств) можно изобразить и на SQL.

можно на чём угодно. но результат не всегда заслуживает приложенных усилий тащемто

Наследование - никто, согласен. Но это спорная концепция.

== В каких подходах в процессе выполнения программы существуют защищенные области памяти

да везде в замыканиях. Есть (агрегированные) функции чтения/записи и скрытая монада, управляющая состоянием. Это повсеместно применяется

[identity profile] maxdz.livejournal.com 2015-03-11 08:01 pm (UTC)(link)
>можно на чём угодно. но результат не всегда заслуживает приложенных усилий тащемто
>Наследование - никто, согласен. Но это спорная концепция.

Вижу, ты сам понимаешь, что полиморфизм/виртуальные функции это зло, да и наследование, по большому счёту, зло тоже.

А делаешь вид, что нуб - нехорошо...

[identity profile] binf.livejournal.com 2015-03-12 06:46 am (UTC)(link)
Ты потерял пойнт. Постарайся понять диалог в целом, не только отдельные фразы.

[identity profile] maxdz.livejournal.com 2015-03-12 01:11 pm (UTC)(link)
Я попробовал выцепить суть из каши в твоей голове. Извини, если плохо получилось...