Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/184: Рейтинг темы: голосов - 184, средняя оценка - 4.66
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484

Rust vs C++

26.06.2020, 16:10. Показов 49530. Ответов 660
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто-то писал на Rust? Стоит ли начинать учить? Насколько Rust хуже/лучше С++?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2020, 16:10
Ответы с готовыми решениями:

[Rust] Обсуждение возможностей и предстоящей роли языка Rust
Psilon, чем он тебя так привлек? И почему именно "убийца плюсов"? Если напишешь развернутый ответ, обещаю вынести в отдельную тему и...

[Rust] Как привязывать WinAPI-функции к коду на Rust?
Может кто-нить дать код, КАК привязывать вин апишные функции к растовскому коду (на примере MesageBox). ...

Расскажите о своём опыте программирования на Rust
Доброе утро! Расскажите, пожалуйста, о своём опыте программирования на Rust. Можно в сравнении с C# или Delphi. Спасибо.

660
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
03.07.2020, 20:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Потому что там используется процедурная парадигма в которой классов нет а соответсвено и наследования.
Гениально, блин.
Вот именно, Си нафиг не нужно ваше наследование, иначе бы его давно добавили. А огромное количество промышленного софта, не сайтиков эти ваших хипстерских, а серьезного софта, доказывает что оно и не надо.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом степень сложности разрабатываемых таким способом систем в плане взаимосвязей и т.д. резко ограничена
На Си пишутся СУБД, компиляторы языков программирования, виртуальные машины, операционные системы, системы управления оборудованием, в том числе на электростанциях, нефтегазодобыче, в оборонке, и медицине, и т.д. Не писались 30 лет назад, а пишутся до сих пор. При этом в Си до сих пор нет наследования, хотя уже сменилось 3 стандарта.
А вывод простой. Надежная система не должна быть чрезмерно сложной. Поэтому в надежной системе вся предметная область кончится раньше, чем вы доберетесь до порога, когда наследования начнет действительно не хватать.

И да, эти капитанские тезисы можете оставить для 90% неквалифицированных. А мне отвечайте нормально.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.07.2020, 20:34
Цитата Сообщение от ablex Посмотреть сообщение
Вот именно, Си нафиг не нужно ваше наследование, иначе бы его давно добавили
Добавили. Еще в конце 70-х. Страуструп добавил. Результат для внутреннего в Бел Лабс пользования назывался "Си с классами". Потом в него по просьбе местного коммунити добавили еще и метапрограммирование. Это и есть С++. Т.е. на то что имеет наследование стандарт просто другой.

Добавлено через 1 минуту
Цитата Сообщение от ablex Посмотреть сообщение
На Си пишутся СУБД, компиляторы языков программирования, виртуальные машины, операционные системы, системы управления оборудованием, в том числе на электростанциях, нефтегазодобыче, в оборонке, и медицине, и т.д. Не писались 30 лет назад, а пишутся до сих пор. При этом в Си до сих пор нет наследования, хотя уже сменилось 3 стандарта.
В Си до сих пор нет ООП. Откуда там взяться наследованию? При этом пишется на Си только то что можно разбить на пакет программ, в котором сложность каждой отдельно взятой программы не большая. Это действительно характерно для контроллеров нижнего звена которые и используются в управлении оборудованием. О тои что там какая то наиболее примитивная часть системы на С пишется почему то умалчиваете.

Добавлено через 1 минуту
Цитата Сообщение от ablex Посмотреть сообщение
На Си пишутся СУБД, компиляторы языков программирования
Про это давно забудьте. Максимум поддерживаются/развиваются те легаси которые начались 30 лет назад.

Добавлено через 2 минуты
Цитата Сообщение от ablex Посмотреть сообщение
А вывод простой. Надежная система не должна быть чрезмерно сложной. Поэтому в надежной системе вся предметная область кончится раньше, чем вы доберетесь до порога, когда наследования начнет действительно не хватать.
Да только вот у С надежность обеспечивается исключительно внимательностью программиста. Т.е. абсолютно все нужно покрывать бренч-тестами которые все равно никакой гарантии дать не в сосотянии. Что делает систему в общем гораздо более сложной чем разработка на плюсах. Т.е. для системы сложнее чем взял с датчика- наложил фильтр - отдал цифрой в УВМ это уже мало пригодно. Определить аогебру над сущностями при помощи С уже не возможно. Это к примеру чтобыы скорость нельзя было по ошибке сложить со временем и т.п. а умножение скорости на время в результате давало дистанцию. Без этого о какой либо надежности систем управления можете забыть от слова совсем.

Добавлено через 5 минут
Цитата Сообщение от ablex Посмотреть сообщение
операционные системы,
Ничего что именно для этого Си в свое время и родился? При этом опреационная система != операционные системы. Если Торвальдс не осилил плюсы, то из этого никак не следует что разрабатывать на Си крупные системы проще чем на плюсах. Ну а линукс это вообще по большому счету музей технологий 70-х - как раз времен расцвета плюсов.
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
03.07.2020, 20:39
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Что делает систему в общем гораздо более сложной чем разработка на плюсах.
Только для неквалифицированных.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Да только вот у С надежность обеспечивается исключительно внимательностью программиста.
Rust как раз для этого и делается. Это замена Си, а не C++. И множество проблем именно языка Си решается, чтобы переложить часть проблем на компилятор. И задачи там такие же, как у Си. И нафиг наследование там не нужно. В надежном софте не нужны развестистые иерархии.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Про это давно забудьте.
Я знаю, что говорю.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Добавили.
Си вообще-то отдельный язык, что там с С++ сделали к вопросу не относится.

Добавлено через 3 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну а линукс это вообще по большому счету музей технологий 70-х - как раз времен расцвета плюсов.
Разработка плюсов - это 80-е. А расцвет - это уже 90-е. Учите матчасть.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну а линукс
Кроме Linux больше ОС нет что ли?
Они все на Cи, кроме Symbian, которая померла.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.07.2020, 20:43
Цитата Сообщение от ablex Посмотреть сообщение
А вывод простой.
Вывод простой. Когда из мурзилок что то цитируете нужно хотя бы примерно понимать что за этими цитатами стоит.

Добавлено через 3 минуты
Цитата Сообщение от ablex Посмотреть сообщение
В надежном софте не нужны развестистые иерархии.
В надежном софте нужно определение алгебры над сущностями как минимум, так же как и модель взаимодействия между сущностями в которую ни у кого постороннего вмешаться не должно быть возможности. Без иерархий это будет очень геморно делать. А насколько развесистые эти иерархии должны быть - это уже программисту делающему постановку той или иной задачу решать - это виднее тлько ему и больше никому. В плюсах кстати в отличии от яв и т.д. вместо одной развесистой иерархии обычно делается толпа миниатюрных. Поэтому подрубание возможности строить иерархии, а тем более изоляции механизмов по вертикали - диверсия чистой воды.
0
 Аватар для Annemesski
2692 / 1349 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
03.07.2020, 20:46
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом степень сложности разрабатываемых таким способом систем в плане взаимосвязей и т.д. резко ограничена по сравнению с ООП.
Фактик: gtk+ - написана на С, при этом является объектно-ориентированной и представляет полноценный фреймворк (хотя для суперпрофи фреймворк - это так себе по степени сложности)
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
03.07.2020, 20:49
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вывод простой. Когда из мурзилок что то цитируете нужно хотя бы примерно понимать что за этими цитатами стоит.
О как. Fulcrum_013 слился. Понятно.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Без иерархий это будет очень геморно делать.
Если вы не умеете подругому, то еще не значит, что имеете право обобщать.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.07.2020, 20:59
Цитата Сообщение от ablex Посмотреть сообщение
Если вы не умеете подругому, то еще не значит, что имеете право обобщать.
А вы умеет по другому ну покажите как, при этом так чтобы это было настолько же продуктивно как и с иерархиями. Для начала покажите чем заменить наследование от аргумента шаблона. Я ж не против чавой та более продуктивного. Только вот где его взять то?

Добавлено через 6 минут
Цитата Сообщение от ablex Посмотреть сообщение
О как. Fulcrum_013 слился. Понятно.
Да это вы слились на самом деле. Потому что абсолютно ничего кроме очередной выдержки из надписи на вики-заборе не привели.
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
03.07.2020, 21:15
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для начала покажите чем заменить наследование от аргумента шаблона.
Для начала надо выяснить нафига оно надо. Вы инженер или где? Мы коней в вакууме будем считать? Только я сразу говорю, что бесплатно не работаю, особенно с перспективой недобросовестного заказчика.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Потому что абсолютно ничего кроме очередной выдержки из надписи на вики-заборе не привели.
А вы чего привели? Вы даже годы разработки плюсов неверно назвали.
Тут только ваше слово против моего. Не тешьте себя иллюзиями.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.07.2020, 21:47
Цитата Сообщение от ablex Посмотреть сообщение
Для начала надо выяснить нафига оно надо. Вы инженер или где? Мы коней в вакууме будем считать? Только я сразу говорю, что бесплатно не работаю, особенно с перспективой недобросовестного заказчика.
Начнем с простого - покажите как реализовать свойства. Ну аналог хотя бы шарповских пропертей.

Добавлено через 11 минут
ablex, т.е. чтобы можно было сделать что то аналогичное вот такому
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct Test {   
    Inlines(Test);
    StoredProperty(Sys::Capacity1D, Capacity)
        Sys::Capacity1D Inc(Sys::Capacity1D NewValue) {
            _base::Value = NewValue;
            return NewValue; 
        };
        Sys::Capacity1D Dec(Sys::Capacity1D NewValue) {
            _base::Value = NewValue;
            return NewValue; 
        };
    PropertyEnd(Capacity)   
    StoredProperty(Sys::Count1D, Count)
         Sys::Count1D Change(Sys::Count1D NewValue) {               
                _base::Value = NewValue;
            return NewValue;
        }
    PropertyEnd(Count)  
};
Библиотечные средства которые реализуют саму абстракцию занимают порядка 250 строк.
90% из них - перегрузка операторов. Работает на пропихивании вложенного класса (вот этого где метод Change, или Inc и Dec) аргументом шаблона проперте.
чтоб было понятней код задействованных макросов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#define Inline(Store, Name, ...)    friend class P##Name;\
                                     class  P##Name : public Store<_self, P##Name, __VA_ARGS__> {\
                                          public:\
                                             static constexpr size_t Offset() { return offsetof(_self, Name ); }\
                                             using _base = Store<_self, P##Name, __VA_ARGS__>;\
                                             friend class _self;\
                                             friend class ::Sys::TProperty<P##Name>;\
                                             using _base::Holder; using _base::HolderPtr; using typename _base::TValue;
 
#define StoredProperty(     Type, Name) Inline( ::Sys::TInlineROStore  , Name, Type)\
                                             using _base::Value;
#define InlineEnd(      Name) }; ::Sys::TProperty<P##Name> Name;
#define PropertyEnd(    Name) InlineEnd(Name)
Добавлено через 6 минут
Цитата Сообщение от ablex Посмотреть сообщение
Вы инженер или где? Мы коней в вакууме будем считать?
Кстати так о птичках инженеры при обсуждении принципиальных возможностей тоже таки коней в вакууме считают, так удобнее определить покрывает ли все возможные дела или нет, в отличии от быдлокоеров которые сразу в конкретику типа.

Добавлено через 9 минут
ablex, Т.е. в общем суть наследования от аргумента шаблона - нужно нарастить чуток огроменный интерфейс, который к тому же заранее не известен. Каким образом без наследования будете действовать?
А те ужасные проблемы типа з захватыванием лишнего кода которые типа хотят порешать в расте просто не существуют - они точно так же коряво решаются приватным наследованием только без потери производительности, ну или = delete.
При этом для всего окромя заюзанных от предка конструкторов и операторов присваивания необходимость что то скрыть из интерфейса предка говорит о гигантской дыре в архитектуре. А обкостыливание дыр - это лечение симптомов а не причины.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
03.07.2020, 23:31
Цитата Сообщение от ablex Посмотреть сообщение
Почему разработке на Си не мешает отсутствие наследования?
На самом деле иногда мешает, и ООП прикручивают снаружи. Скажем, в gtk именно так сделано.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Еще раз не знаете учите матчасть.
Вы серьезно рассчитываете как-то меня этим задеть? И так всем видно, что вы сами о матчасти знаете только название. Лучше не позорьтесь дальше.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Точно так же как в языках к GC, или вы даже не в курсе такой элементарщины, что для управления ресурсами GC не предназначен и как следствие не пригоден от слова совсем, только буферами памяти да и то только в своем адресном пространстве?
Угу. Месье не знает что память это тоже ресурс. Не говоря уже о периферии.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом степень сложности разрабатываемых таким способом систем в плане взаимосвязей и т.д. резко ограничена по сравнению с ООП.
Практика показывает что ООП головного мозга вызывает еще больше проблем. Далеко не все объекты реального мира ложатся на эту модель.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Добавили. Еще в конце 70-х. Страуструп добавил. Результат для внутреннего в Бел Лабс пользования назывался "Си с классами".
Вот только бесклассовый Си от этого почему-то не вымер.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом пишется на Си только то что можно разбить на пакет программ, в котором сложность каждой отдельно взятой программы не большая.
И это огромное преимущество. Чем проще отдельный модуль, тем меньше шанс допустить ошибку, тем больше вариативность его использования.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В надежном софте нужно определение алгебры над сущностями как минимум
Обоснование будет?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А насколько развесистые эти иерархии должны быть - это уже программисту делающему постановку той или иной задачу решать
Чем проще тем лучше.
1
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.07.2020, 01:38
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Обоснование будет?
C
1
2
3
float Speed;
float dt;
float Dist = Speed + dt; //что помешает сделать вот так и получить полную чушь?
C++
1
2
3
4
TSpeed Speed;
TTime dt;
TDistance Dist = Speed + dt; //ошибка помпиляции
TDistance Dist1 = Speed * dt; //Ok
вот для этого и надо.
Ну это уже не говоря про такие мелочи как вектора там поскладывать на матрицы поумножать ну и прочие плюшки для приведения всего и вся к близкому к математической записи виду.
Если вы не а курсе че это и зачем это надо, то о каких тогда знаниях у вас вообще речь идет?

Добавлено через 3 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Чем проще отдельный модуль, тем меньше шанс допустить ошибку, тем больше вариативность его использования.
Да. Но времена настолько простых модуей остались в основном в 70-х. При этом речь идет не об модуле программы. Речь идет об исполняемом модуле в целом. На сегодняшний день такое можно найти разве что в контроллерах нижнего звена выполняющих какую то одну примитивную функцию типа получить данные с датчика отфильтровать и отправить в УВМ цифрой.
В том то и дело что потребная для решения задач сложность взаимосвязей очень сильно выросла с тех времен. При этом единица трансляции модулем в общетехническом смысле этого слова не является - нельзя создать его независимо действующие друг от друга экземпляры в рамках одной софтины. Аналогом такого модуля является именно класс, но не как не единица трансляции.

Добавлено через 59 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Чем проще тем лучше.
Ну вот иерархия - это давно стало проще.

Добавлено через 3 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вот только бесклассовый Си от этого почему-то не вымер.
Только усох бедолага. Задачи уровня 70-х остались в некоторых местах. Вот там бедолага и доживает свой век. Ну окромя того что есть горы энтерпрайз-легаси на С а их выбросить не так то просто. Еще большие горы легаси лежат на коболе и их просто никто не хочет разгребать.

Добавлено через 9 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Угу. Месье не знает что память это тоже ресурс. Не говоря уже о периферии.
Вы опять лекарстов принять забыли? Где вам говорилось что память не ресурс? Но память это только один из видов ресурсов.

Добавлено через 8 минут
При этом утечки всех остальных видов ресурсов гораздо критичнее чем утечки памяти.

Добавлено через 1 час 24 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Практика показывает что ООП головного мозга вызывает еще больше проблем.
Практика показывает что ООП головного мозга гарантирует наличие головного мозга.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Далеко не все объекты реального мира ложатся на эту модель.
Пример будет или как всегда голословными утверждениями ограничиваетесь? При этом даже если не все а подавляющее большинство - что это меняет? Кроме того - а если в ООП не вкладываются то куда они тогда вообще могут вложится то?
0
88 / 108 / 6
Регистрация: 16.04.2019
Сообщений: 451
Записей в блоге: 4
04.07.2020, 08:31
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Пример будет или как всегда голословными утверждениями ограничиваетесь?
Здесь этим занимается только Fulcrum_013 уже несколько лет, в разных темах, повторяя одни и те же мифы или какие-то очевидные вещи.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Кроме того - а если в ООП не вкладываются то куда они тогда вообще могут вложится то?
Наш "профессионал" не знает о существовании других парадигм программирования кроме ООП. Так же как не знает о существовании других ЯП, но он слышал что-то там, но никогда не пользовался ими и не понимает зачем они созданы.

Да вы попадаете под описание: ООП С++ фанатик:
https://youtu.be/1i4-e1okZtw
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
04.07.2020, 08:47
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
float Dist = Speed + dt; //что помешает сделать вот так и получить полную чушь?
Если за клавиатуру села обезьяна - ничего. Нормальный человек лучше роботов знает, какую формулу он пытается записать, и мешать ему в этом не надо.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
C++
1
2
3
4
TSpeed Speed;
TTime dt;
TDistance Dist = Speed + dt; //ошибка помпиляции
TDistance Dist1 = Speed * dt; //Ok
И что, будете N2 комбинаций прописывать? Это уж точно признак плохого кода.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну это уже не говоря про такие мелочи как вектора там поскладывать на матрицы поумножать ну и прочие плюшки для приведения всего и вся к близкому к математической записи виду.
Если вы не а курсе че это и зачем это надо, то о каких тогда знаниях у вас вообще речь идет?
Если вы не в курсе как это сделать без классов, то о каких знаниях вообще речь?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
На сегодняшний день такое можно найти разве что в контроллерах нижнего звена выполняющих какую то одну примитивную функцию типа получить данные с датчика
Это называется драйвером.
А в общем случае для сборки сложной системы проводят так называемую декомпозицию - разделяют на модули, каждый из которых обладает специфицированными интерфейсами. Хороший пример - динамические библиотеки. Возможно, вы краем уха слышали, что из них объекты наружу не торчат.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Пример будет или как всегда голословными утверждениями ограничиваетесь?
Опять вы на меня свои привычки перекладываете.
Просто оглянитесь вокруг и посмотрите хотя бы на существующие парадигмы программирования. Да хотя бы функциональное программирование.
Цитата Сообщение от IamLost Посмотреть сообщение
Да вы попадаете под описание: ООП С++ фанатик:
Хуже - С++ фанатик. Его ведь даже нормальные реализации ООП не устроили, только плюсовый вариант.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.07.2020, 12:14
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
сли за клавиатуру села обезьяна - ничего. Нормальный человек лучше роботов знает, какую формулу он пытается записать, и мешать ему в этом не надо.
Если такую чушь посчитает автопилот самолета на борту которого вы находитесь то вам сразу станет сугубо пофиг кто там сидел. ПРи этом бывают и опечатки и т.д. Найти такую опечатку без помощи компилятора исключительно сложно.

Добавлено через 38 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это уж точно признак плохого кода.
Это признак надежного кода.

Добавлено через 46 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Это называется драйвером.
Нет это называется контроллером нижнего звена.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
04.07.2020, 12:15
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Если такую чушь посчитает автопилот самолета на борту которого вы находитесь то
Если обезьяна будет программировать автопилот самолета, на котором вы находитесь, вам сразу станет сугубо пофиг какой язык она использовала.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это признак надежного кода.
Понятно. Впрочем, вы не первый раз демонстрируете, что с разработкой не знакомы.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.07.2020, 12:54
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Если вы не в курсе как это сделать без классов, то о каких знаниях вообще речь?
Часть из опреторов можно и свободными функциями перегрружать. И иногда это даже удобно, поэтому в пллюсах их и оставили. Но в С перегрузки операторов нет от слова совсем.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Если обезьяна будет программировать автопилот самолета, на котором вы находитесь, вам сразу станет сугубо пофиг какой язык она использовала.
Ну вы по ходу и есть обезьяна которая ничего в разработка надежного софта не смыслит.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А в общем случае для сборки сложной системы проводят так называемую декомпозицию - разделяют на модули, каждый из которых обладает специфицированными интерфейсами. Хороший пример - динамические библиотеки. Возможно, вы краем уха слышали, что из них объекты наружу не торчат.
Еще как торчат. Парадигма всего винапи к примеру ООП. Интерфейс местами сишный. НО парадигму это никак не меняет.

Добавлено через 47 секунд
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Его ведь даже нормальные реализации ООП не устроили, только плюсовый вариант.
Анука приведите пример нормальной по вашему реализации?

Добавлено через 14 минут
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А в общем случае для сборки сложной системы проводят так называемую декомпозицию - разделяют на модули, каждый из которых обладает специфицированными интерфейсами. Хороший пример - динамические библиотеки.
Вы похоже даже краем уха не слышали что декомпозиция кода не снижает количество состояний конечного автомата, который явно или неявно представляет из себя любая программа, от слова совсем. Она позволяет только переиспользовать код. А для снижения количества состояний нужно декомпозировать конечный автомат на как можно большее количество взаимосвязанных субавтоматов. Вот этим и занимается ООП - т.е. снижением сложности, недоступном другим методологиям проектирования.

Добавлено через 4 минуты
Цитата Сообщение от ablex Посмотреть сообщение
Они все на Cи, кроме Symbian, которая померла.
Бред. Макося к примеру на объектном паскале. Винда частично си частично плюсы.

Добавлено через 10 минут
COKPOWEHEU, По поводу мифов о том что GC дает какую то автоматику как понимаю слив вам засчитан?

Добавлено через 5 минут
Цитата Сообщение от IamLost Посмотреть сообщение
Наш "профессионал" не знает о существовании других парадигм программирования кроме ООП.
Значит приведите математическое обоснование того что что то не вкладывается в методологию ООП но вкладывается куда то еще, или хотя бы продемонстрируйте наглядный пример. Или не распускай ложных мифов. А насчет других парадигм - то ООП является естественным развитием как процедурной парадигмы так и функциональной. Хотя бы потому что методология проектирования при реализации кода в любой парадигме в конечном итоге все равно сводится к построению модели сущностей предметной области и их взаимодействию. Именно поэтому к примеру ФП как бы не фапали на ООП но все быстрее и быстрее катятся в сторону именно ООП. Кстати потому и фапают что опоздали на 50 лет.
0
88 / 108 / 6
Регистрация: 16.04.2019
Сообщений: 451
Записей в блоге: 4
04.07.2020, 13:22
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Значит приведите математическое обоснование того что что то не вкладывается в методологию ООП но вкладывается куда то еще, или хотя бы продемонстрируйте наглядный пример. Или не распускай ложных мифов. А насчет других парадигм - то ООП является естественным развитием как процедурной парадигмы так и функциональной. Хотя бы потому что методология проектирования при реализации кода в любой парадигме в конечном итоге все равно сводится к построению модели сущностей предметной области и их взаимодействию. Именно поэтому к примеру ФП как бы не фапали на ООП но все быстрее и быстрее катятся в сторону именно ООП. Кстати потому и фапают что опоздали на 50 лет.
Полнейший
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Бред.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.07.2020, 13:28
IamLost, Т.е. слив вам засчитан - привести пример того что не вкладывается в ООП-методологию вы зафейлили товарищ мифотворец?
0
88 / 108 / 6
Регистрация: 16.04.2019
Сообщений: 451
Записей в блоге: 4
04.07.2020, 13:35
Fulcrum_013, засчитывайте слив, мне комментировать бред не охота.
0
Эксперт по электронике
7208 / 3387 / 346
Регистрация: 28.10.2011
Сообщений: 13,324
Записей в блоге: 7
04.07.2020, 13:35
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
чуть выше Си,С++, Паскаль и т.п.: они тоже оперируют машинными данными, прикрытыми тонкой оберткой абстракции.
Где бейсик забыли?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.07.2020, 13:35

[Rust] Time
Подскажите как узнать время в Rust. //Rust extern crate time; fn main() { let now = time::get_time(); ...

Rust+assembler
Как связать язык rust и ассемблер не используя ассемблерные вставки(неудобно использовать их в RUSTе)?

Frontend Для RUST
Нужна помощь! Есть класс Participant, в этом классе есть функция new. impl Participant { /// Create a new `Participant`. ...

Просадки FPS в Rust
Всем привет нужна помощь! У меня ноут HP, установлен процессор i5-8300H 2,3 ггц, 6 ядерный 8 поточный, так же установлена видеокарта Nvidia...

Rust ошибка E0623
при компиляции появляется ошибка E0623 в документации этот номер пропущен. в чём может быть проблема? ошибка: error: lifetime...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
260
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru