The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз Firefox 90, opennews (??), 13-Июл-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


79. "Релиз Firefox 90"  –1 +/
Сообщение от Аноним (75), 13-Июл-21, 18:38 
зачем тогда класс нужен и ООП? вместо конструктора сразу все свойства проинитить как надо, геттеры и сеттеры заменить на обращение к значениям... в общем сразу переписать работу методов с нуля на процедурном языке с глобальными переменными...
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

86. "Релиз Firefox 90"  +/
Сообщение от Аноним (83), 13-Июл-21, 18:47 
И в самом деле - зачем? Что в C, что в асме, что в форте или модуле-2 с адой прекрасно обхожусь без этого ненужного уже лет 30.
Ответить | Правка | Наверх | Cообщить модератору

194. "Релиз Firefox 90"  +1 +/
Сообщение от Аноним (194), 14-Июл-21, 03:13 
Что ты такое, что 30 лет на Форте кодишь?!
Ответить | Правка | Наверх | Cообщить модератору

284. "Релиз Firefox 90"  +1 +/
Сообщение от пох. (?), 14-Июл-21, 11:29 
> Что ты такое, что 30 лет на Форте кодишь?!

"просто повезло, наверное"

Ответить | Правка | Наверх | Cообщить модератору

298. "Релиз Firefox 90"  +/
Сообщение от Аноним (83), 14-Июл-21, 13:36 
А вот фишка так легла, что ни разу ни пыхпых, ни питон, ни прочее подобное не потребовалось (включая MFC, QT и дельфи). Прав был Дейкстра: "Объектно-ориентрованное программирование — это исключительно плохая идея, которую могли придумать только в Калифорнии".
Ответить | Правка | К родителю #194 | Наверх | Cообщить модератору

212. "Релиз Firefox 90"  +/
Сообщение от kissmyass (?), 14-Июл-21, 06:19 
в принципе я тоже могу жопу лопухом, не нужны фабрики по переработке древесины, титановые белила, экология и мильен других аргументов от адептов
Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

288. "Релиз Firefox 90"  +/
Сообщение от iPony129412 (?), 14-Июл-21, 12:17 
так лучше
Ответить | Правка | Наверх | Cообщить модератору

300. "Релиз Firefox 90"  +/
Сообщение от Аноним (83), 14-Июл-21, 13:51 
Объектно-ориентированные программы предлагаются в качестве альтернативы правильным.

Эдсгер В. Дейкстра, пионер информатики

Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

311. "Релиз Firefox 90"  –1 +/
Сообщение от Жироватт (ok), 14-Июл-21, 15:00 
> Шел 2021й год. Эдсгер В. Дейкстра, пионер информатики, а ныне вызванный из лап смерти в качестве бессмертного спасителя индустрии от г-нокодеов и криводелов пытался в 3927й раз повесится: его структурный код или рано или поздно мутировал к протообъектному, или сам Дейкстра взывал от отчаяния, когда его красивые программки с великолепными алгоритмами ну никак не ложились на новые предметные области. Пионер программирования тонул в абстрациях, плавал в мутных потоках relationships, но стиснув зубы отказывался признавать ООП.
> - Чертовы калифорнийцы, мать их за три ноги, - было самым цензурным из всего, что он произнес за сегодня, пытаясь справиться хотя бы с частью задач к майлстоуну. Он барахтался, оступался, больно падал, но упорно отказывался от концепции.
> - Инкостыляция, накостыливание, поликостылизм! - шипел он в пустоту между стеной и монитором. Паук Валерий, свивший там маленькую паутину, на каждое злобное шипение вжимался в прикрытое куском обоев оставшееся от выдернутого дюбеля углубление. Ему было страшно.
> К первопроходцу со скоростью локомотива приближался дедлайн...
Ответить | Правка | Наверх | Cообщить модератору

312. "Релиз Firefox 90"  +1 +/
Сообщение от Аноним (312), 14-Июл-21, 15:23 
> Инкостыляция, накостыливание, поликостылизм!

Именно так. Даже ведро линупca благополучно обходится без этого ненужного все три десятка лет своего существования. Линус в свое время ясно и понятно высказывался на эту тему.

Ответить | Правка | Наверх | Cообщить модератору

324. "Релиз Firefox 90"  +5 +/
Сообщение от DildoZilla (?), 14-Июл-21, 17:31 
ООП это жабаскрипт нормального программирования.
Ответить | Правка | К родителю #300 | Наверх | Cообщить модератору

326. "Релиз Firefox 90"  +/
Сообщение от Аноним (312), 14-Июл-21, 17:58 
When you see the code

    i = j * 5;

… in C you know, at least, that j is being multiplied by five and the results stored in i.
But if you see that same snippet of code in C++, you don’t know anything. Nothing. The only way to know what’s really happening in C++ is to find out what types i and j are, something which might be declared somewhere altogether else. That’s because j might be of a type that has operator* overloaded and it does something terribly witty when you try to multiply it. And i might be of a type that has operator= overloaded, and the types might not be compatible so an automatic type coercion function might end up being called. And the only way to find out is not only to check the type of the variables, but to find the code that implements that type, and God help you if there’s inheritance somewhere, because now you have to traipse all the way up the class hierarchy all by yourself trying to find where that code really is, and if there’s polymorphism somewhere, you’re really in trouble because it’s not enough to know what type i and j are declared, you have to know what type they are right now, which might involve inspecting an arbitrary amount of code and you can never really be sure if you’ve looked everywhere thanks to the halting problem (phew!).

(С)небезызвестный Джоэл Спольски

Ответить | Правка | Наверх | Cообщить модератору

335. "Релиз Firefox 90"  +/
Сообщение от Dzen Python (ok), 14-Июл-21, 19:43 
When you see the code

   this_is_my_first_awersome_struct_in_c.i = this_is_my_fusking_awersome_method_to_multiply_this_fusking_value_from_real_world_in_struct_field(this_is_my_second_awersome_struct_in_c.j, 5);

… in C you know, at least, that j is being multiplied by five and the results stored in i.
But if you see that same snippet of code in C++, you don’t know anything. Nothing. AND THIS IS GOOD, 'cause some types with owerrided types compacted from:
    obj2.i = obj1.DoThisMyltiplyShit(reiterpret_cast<int> (obj1.j), 5);
    obj4.i = obj3.DoThisMyltiplyShit(strlen(obj1.j), 5);
where obj2|obj1 non equal obj4|obj3
to simly:
    obj2.i = obj1.j * 5;
    obj4.i = obj3.j * 5;
incapsulate all logic from external user:


Ответить | Правка | Наверх | Cообщить модератору

336. "Релиз Firefox 90"  +/
Сообщение от Аноним (83), 14-Июл-21, 19:46 
"Внутри С++ сидит более компактный и понятный язык, отчаянно пытающийся выбраться наружу." — Бьерн Страуструп
Ответить | Правка | Наверх | Cообщить модератору

357. "Релиз Firefox 90"  +/
Сообщение от Аноним (83), 14-Июл-21, 22:10 
Если ты используешь глобальные переменные не в бейсике 80-х или в фортране-77 - ты точно все правильно делаешь? Ибо еще Керниган с Ритчи против этого всячески предостерегали.
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру