|
0 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 14
|
|
Обожаю фреймворк Qt, а продукция Microsoft - отстой24.09.2018, 07:12. Показов 6003. Ответов 140
Я люблю Qt , ибо он действительно кроссплатформеный. После Qt-creator IDE ,
MSVS кажеться полнейшем г... где мильон абсолютно не нужных функций. Короче MSVS это г... такойже как и Windows , и вообще в Майкрософт работают больные на голову люди, про что говорит их ОС и вся их продукция .
1
|
|
| 24.09.2018, 07:12 | |
|
Ответы с готовыми решениями:
140
Гусеницы - отстой? КВН - полный отстой? Ваш язык программирования - отстой |
|
|
||
| 02.10.2018, 17:46 | ||
|
0
|
||
|
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,879
|
|
| 02.10.2018, 17:50 | |
|
CoderHuligan, понятно. "Забыл какой" и "что-то было". Так и скажите уже: "Раз оно написано на С++ и использует MFC, а не голое WinAPI, то автоматически глючное дерьмо. Доказательств не будет."
0
|
|
|
|
||
| 02.10.2018, 17:57 | ||
|
0
|
||
|
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,879
|
|
| 02.10.2018, 18:00 | |
|
CoderHuligan, мне не нужно об этом писать. Лучше тикет заведите на странице их репозитория. От этого больше будет пользы, чем от доказывания недоказуемого тем, кто понимает, что аргументов у вас нет.
0
|
|
|
|
|
| 02.10.2018, 18:03 | |
|
0
|
|
|
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,879
|
|
| 02.10.2018, 18:20 | |
|
CoderHuligan, ага, нормальная ситуация для популярного приложения.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 02.10.2018, 18:50 | ||||
|
0
|
||||
|
|
|
| 03.10.2018, 11:18 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 03.10.2018, 12:04 | ||
|
в отличие от вас, я не религиозен. и я не балаболка.
0
|
||
|
|
|||
| 03.10.2018, 12:57 | |||
|
Ваша любимая парадигма это священная корова, которой вы покланяетесь. Поэтому любая её критика воспринимается в штыки, а людей обвиняют бог знает в чём.. К сожалению она не имеет ничего общего с реальной жизнью, с настоящим кодингом больших проектов. Это только в ваших учебниках всё гладко и мягко стелется, а на практике одни проблемы, куда не кинь взгляд.. У вас теоретиков-балаболок больше, чем самих программистов.. Да. И задачки из школьной программы прокатывают только потому, что они школьные.. А если проект по крупнее, то приходится "использовать мультипарадигменность с++".. Отступая от своей тотемной священной коровы, и молясь другим богам, более вменяемым и отзывчивым.. Так-то вот.. Ваши теоретики пороха не нюхали, и не знают что нужно потребителю, и команде поддержки.. Абсолютно коммерческий проект, с самого начала, для качания денег, бабла.. Тупого качания.. Докачались до того, что наступает кризис всей отрасли, которого только слепой не видит.. Коммерции выгодно производить быстрее и дешевле.. Обьекты вам это дали.. Вместо настоящей еды, натуральной, без химии, вы предложили поглощать подкрашенные суррогаты, от которых самое лучшее что можно получить - проблемы с желудком, а не здоровье.. Вот и получили. Я пришёл самостоятельно к своему собственному стилю, который естественно не стоит на месте, а совершенствуется Он более похож на data-driven programming с элементами автоматной парадигмы. В нём первичны данные. Всё управляется только данными: функции вызываются через данные, а не напрямую. Логика обрабатывается в соответствии с данными, а не жёстко в коде. Это даёт большую гибкость. Документация на программу первична. В ней всё прописано: все структуры данных, все массивы, списки и пр. Таким образом данные это некое знание, или память системы. ИИ должен включать в себя: логическую часть и память. Без памяти человек считается неполноценным, больным. Программа без собственной памяти - глупа. А так, кстати и происходит сейчас: логика есть(и то хромает), а памяти нет. Память это не то, чтобы хранить настройки пользователя или историю его посещений и действий, отнюдь. Память это знание системы о себе самой, внутри самой себя.. Функции обращаются не к функциям, чтобы приказать им сделать то, или это, а обращаются к памяти системы через служебную функцию-посредник. Система сначала вспоминает чем владеет, а затем использует вспоминаемое по прямому назначению. Преимущества очевидны: можно всё изменить через данные. Можно изменить представление. Можно изменить логику работы. Причём совершенно не трогая существующий код. Такую систему можно откатить на шаг назад, на два шага, на три и т. д.
0
|
|||
|
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,879
|
|
| 03.10.2018, 13:13 | |
|
CoderHuligan, в течение общения в этой ветке, мы убедились, что ваша критика не подкреплена никакой аргументацией. Совсем. Т.е. есть ваше личное субъективное мнение основанное на каких-то неосознанных вещах. Что не так в "критикуемых" вами вещах вы связно объяснить не можете. Только лепет детский, да обрывки чуши.
А это и есть разновидность религиозного фанатизма, когда плохо потому, что гладиолус. Даже бедный Notepad++ глючное барахло, но что в нём глючного вы не помните и назвать не можете. Упорство + нулевая аргументация = обвинения в балабольстве. Я не люблю переходить на личности, но считаю данное обвинение заслуженным.
0
|
|
|
|
||
| 03.10.2018, 13:37 | ||
|
0
|
||
|
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,879
|
|
| 03.10.2018, 13:59 | |
|
CoderHuligan, э, не. Не надо переводить. Обвинитель тут вы. От вас и должна идти аргументация. Чёткая и конкретная. А всё, что прозвучало закончилось фразами "я не помню" и "я сам этим не пользуюсь". Слабовато.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 03.10.2018, 14:25 | ||||||||
|
я лишь ясным образом дал вам понять, что я не такой, как вы: потому что я вам уже несколько раз сообщил, что мультипарадигменный, и ооп для меня - всего лишь одна из многих. но вы как упертый баран, словно мантру продолжаете одно и тоже, как заевшая пластинка про "священную корову". от вас не было ни одного критического замечания. ни одного конкретного аргумента. вообще ничего конкретного. дальше я этот бред не читал. ощущение, что тест писал какой то сатанист в бреду с параноидальной шизофренией. в общем, здесь видимо так же мимо. не судьба похоже мне узнать хотя бы один единственный аргумент критики ооп.
0
|
||||||||
|
Модератор
|
|||||||
| 03.10.2018, 19:13 | |||||||
|
Предположим мы делаем программку в которой пользователи чего то там делают с фигурками. Кликните здесь для просмотра всего текста
Програмку потестировали, при этом потыкали и в RoundRect, как водится, ближе к серёдке, программка реагировала правильно, делала что должно когда тыкнули на эту фигуру. А в продакшене юзер ткнул у края закругления, но вне RoundRect и выяснилось что забыли переопределить Contains для RoundRect. Предполагается ПО УМОЛЧАНИЮ что непереопределённые функции будут те же что и у базового класса. А это умолчание - источник ошибок. Т.е. зло в самом принципе наследования. Для предотвращения таких ошибок на C# можно сделать вместо класса Figure интерфейс, RoundRect не наследовать от Rect (и вообще не наследовать никакие фигуры), зато все фигуры должны поддерживать один интерфейс для полиморфизма. RoundRect может иметь поле/проперть с типом Rect, то есть не наследование, а аггрегация, вложение. Тогда все функции нужно определить в каждом классе, во многих случаях, (что соответствует непереопределяемым функциям базового класса) тривиально. Я не утверждаю что на C# так нужно писать. Просто пример.
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 03.10.2018, 19:34 | |||
|
1. интерфейс с поведением по умолчанию обязан быть корректным для любого наследника. 2. если умолчательное поведение не гарантируется, тогда это должен быть чисто-виртуальный интерфес (то бишь обязательный к переопределению) 3. в приведенном вами примере уже есть ярко выраженный инженерный просчет. а именно: наследник RoundRect для того и был нужен, что бы учесть его "загругленные" особенности. а иначе тупо теряется смысл его существования. я не знаю как так можно упороться, что бы сознательно породить наследника с поведением аналогичным базовому классу. вы для чего породили "скругленный" прямоугольник, если вам не интересна природа его "скругленной" геометрии? это - бред какой то. 4. нахрена RoundRect агрегация, в ситуации, когда ярко выражено отношение:RoundRect является Rect вообще не понятно.несколько раз перечитывал фрагмент: сначала вы привели пример нелепого кейса, когда программист похоже сам не знает, что ему нужно. а затем привели такой же нелепый контр-пример с нафиг не упавшей агрегацией. вот нафига тут может быть нужна агрегация? ваш минус - это не критика ооп. это пример того, что бывает, когда программист сам не знает, что делает, и зачем ему это нужно.
0
|
|||
|
Модератор
|
||||
| 03.10.2018, 20:49 | ||||
|
Вам показали пример для объяснения, а не готовую программу. В данном примере можно использовать просто интерфейс.
0
|
||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||
| 03.10.2018, 22:57 | |||||||||||||
|
у вас есть только одна единственная причина для создания скругленного прямоугольника - для него по другому нужно рассчитывать Contains. отнаследоваться и забыть об этом - надо быть клиническим идиотом. нафиг исключать наследование там, где именно наследование является очевидно верным решением? 2. вы впадаете в другую крайность. предлагаете исключить опасность клинического идиотизма путем написания тонн ненужного кода. усложнение кодовой базы на ровном месте. клинический идиот, который не разумеет зачем он наследуется и с агрегацией тоже накосячит. дуракам нет смысла делать защиту от самих себя. и это - не проблема ооп. технически нет ничего сложного что бы ввести какой нить спецификатор, который будет заставлять заново переопределять функцию в наследниках, как это было сделанно для чисто-виртуальных функций. просто в этом нет потребности. если человек настолько тупой, что сам не понимает, зачем отнаследовался, то агрегация его уже не спасет. вопрос очень конкретный: нафига подменять наследование агрегацией тогда, когда это ведет лишь к усложнению кода? а то может быть это вы слишком зацикленны на агрегации? остановок "тута" и "здеся" не существует. вопрос то не в этом. можно Машку за ляжку, в телегу с разбегу, козу на возу, на первый этаж через агрегацию. вопрос остаётся в силе: нафиг в данном примере использовать агрегацию? я хочу что бы вы поняли одну простейшую вещь. технически, наследование и агрегация - суть одно и тоже. всегда наследование можно заменить агрегацией. всегда агрегацию можно заменить наследованием. вопрос лишь в синтаксисе (и возможностях) конкретного языка, и в количестве буковок, которые придется писать при сопровождении. вот вам пример взаимозаменяемости на языке с++ http://rextester.com/XMDIB34500
что она в общем то и делает. только в первом случае ей скармливают честного наследника. а во втором - объект класса, который на самом деле не наследовался ни от каких интерфейсов. тем не менее, ей была подсунута вот эта вот "базовая" часть класса так, словно он от неё относледовался. если посмотреть на эту картинку с низкого уровня (на уровне памяти, когда объект - кусок памяти) то опять таки, между наследованием и агрегированием разницы никакой нет. в обоих вариантах бинарное состояние (занимаемая объектами память) будет одинаковое. этот пример наглядно иллюстрирует, что с точки зрения низкроуровневой реализации, между наследованием и агрегацией никакой разницы нет. всё реальное различие сводится лишь к особенностям синтаксиса того или иного языка, и его возможностям. может быть не все языки подобно с++ умеют форсить наследование, через агрегацию. но любой современный промышленный оо-язык всегда можно этому научить. вопрос лишь в том: зачем это нужно? зачем делать агрегацию там, где проще сделать обычное наследование? и опять таки, этот вопрос не имеет никакого отношения к критике ооп. я мне все ж таки интересно именно про критику ооп, а не о том, нафига городить огород, дабы дурак себе башку не разбил, когда будет молиццо.
0
|
|||||||||||||
|
Модератор
|
|||||||
| 04.10.2018, 00:22 | |||||||
|
Наследование делают в ооп? Делают, это одна из основ его. Может произойти подобная ситуация (забыли переопределить ф-ию?). Заявляют что не ошибаются только совсем начинающие, которые узнали как хэловорд написать. Захотите - почитаете учебники. Хотя, тут я как то извращался изображая ООП в Haskell. В тему и код в статье, и код оппонента предлагающего свой вариант - не ООПешный.
0
|
|||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||
| 04.10.2018, 00:37 | ||||
|
1) Агрегирующему объекту может быть доступен только публичный интерфейс агрегируемого, агрегируемый не может ничего знать об агрегирующем: никаких abstract protected методов и полей — меньшая связность. 2) Ссылку на агрегируемый объект внутри агрегирующего можно менять динамически, в рантайме. А кроме технических деталей агрегирование выражает отношение has-a, а не is-a. Добавлено через 2 минуты
0
|
||||
| 04.10.2018, 00:37 | |
|
Круто это либо отстой? Почему С++ отстой до 2020 года Кабельная продукция, выбор. Продукция-товар не отображаются фотографии Выпуск нескольких ГП (Готовая Продукция) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|