Re[11]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 07:50
Оценка:
Здравствуйте, CreatorCray, Вы писали:

DI>>Чуть менее, чем вся STL аллоцирует неявно, например std::function внезапно, или выброс исключения.

CC>Весь std:: — так себе библиотека, я это уже много раз говорил. Годная для прототипирования а дальше надо уже смотреть.

Не весь С++ одинаково полезен?

DI>>Как понимание того, что происходит внутри контейнеров поможет написать рилтайм критикал код?

CC>Примерно так же как понимание разницы между O(n) и O(log n)

Так как-же?

CC>А кто забыл сказать что этот поток должен выполняться на IRQL DISPATCH_LEVEL?


realtime critical на винде? Однако.

DI>>Ну и вообще использовать многозадачные ОС для realtime critical кода?

CC>Это как раз решаемо.

Как?

CC>А вот SMM куда больше неприятностей может внезапно доставить, которые ещё и хрен продиагностируешь на уровне ОС, если не знать про него.


Это еще каким образом? При запуске realtime critical из под гипервизора? Мсье определенно в извращениях понимает.

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

CC>Рази что только если думать что C++ это stl, std и прочая "стандартная" шелуха.
CC>С++ это то, что встроено в язык, всё остальное библиотеки и они как раз могут быть написаны под разные assumptions и requirements.

Ну вот исключения, например, вполне себе часть ядра языка. Тоже негодная фича? Я собственно к тому и веду, что когда мы выберем подмножество С++ годное в упомянутому специфическому кейсу, от С++ внезапно практически ничего не останется. Но хорошо, вот мы его кастрировали, это панацея для realtime critical?
Re[12]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 30.09.19 07:53
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

S>>А на основании чего сделано это утверждение? Личного опыта?


DI>Да.


Это когда вы в CAD-е программы для станков с ЧПУ делали?

Так-то VxWorks, QNX и OS-9/9000 были вполне себе многозадачными.
Re[12]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 30.09.19 08:08
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Я собственно к тому и веду, что когда мы выберем подмножество С++ годное в упомянутому специфическому кейсу, от С++ внезапно практически ничего не останется.


То, что останется, будет всяко лучше чистого C.

DI>Но хорошо, вот мы его кастрировали, это панацея для realtime critical?


А что такое realtime critical? Есть mission critical, business critical, а вот что значит realtime critical и чем оно отличается от просто realtime?
Re[3]: Оставаться в С++ или уходить?
От: LaptevVV Россия  
Дата: 30.09.19 08:16
Оценка:
LVV>>И всегда меня интересовала не технология/язык, а ЗАДАЧИ.
U>Задачи, конечно, первостепенны, но можно их решать с применением технологий и языков, которые тебе интересны, а не на которых "надо".
U>Здесь можно привести в пример Rich Hickey, который на вопрос "нафига ты придумал Clojure" ответил:
>> I wrote Clojure because if I had to continue programming in Java, I wouldn't still be a programmer; Java, or C++, or C#, or the languages I was using in consulting at the time.
У меня у самого такой случай был.
Был договор с одной ленинградской конторой.
Сначала к PL-1 присобачили Лисп и написали препроцессор Лисп->PL-1.
Потом переписали Лисп на ПЛ-1 и сделали библиотеку — от препроцессора перешли к линкеру...
Потом придумали язык программирования сверхвысокого уровня.
На смеси ПЛ-1+Лисп написали интерпретатор.
Потом на этом языке сверхвысокого уровня реализовали договор...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Оставаться в С++ или уходить?
От: lpd Черногория  
Дата: 30.09.19 08:23
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Что-то мне подсказывает, что проблема с циклическими зависимостями возникает из-за попыток программировать на плюсах как на яве или шарпе.


Интересно, в чем отличие стиля кода на яве от С++?(Реально интересно, т.к. на яве не писал. Речь про Dependency Injection?) Не из-за того ли стиль С++ другой, что его не используют для бэкенда(что плохо)?
Надеюсь, стиль явы не только тем и плох, что возникают циклические ссылки.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Re[12]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 30.09.19 08:32
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Не весь С++ одинаково полезен?

С++ это только сам язык. Либы отдельно.

DI>>>Как понимание того, что происходит внутри контейнеров поможет написать рилтайм критикал код?

CC>>Примерно так же как понимание разницы между O(n) и O(log n)
DI>Так как-же?
Sapienti sat, зелёный.

CC>>А кто забыл сказать что этот поток должен выполняться на IRQL DISPATCH_LEVEL?

DI>realtime critical на винде? Однако.
Прикинь!

DI>Это еще каким образом? При запуске realtime critical из под гипервизора? Мсье определенно в извращениях понимает.



DI>Ну вот исключения, например, вполне себе часть ядра языка. Тоже негодная фича? Я собственно к тому и веду, что когда мы выберем подмножество С++ годное в упомянутому специфическому кейсу, от С++ внезапно практически ничего не останется.

Эта песня хороша, начинай сначала.
Иди перечитывай RSDN за последние лет 10.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[10]: Оставаться в С++ или уходить?
От: Stanislav V. Zudin Россия  
Дата: 30.09.19 08:47
Оценка: +1
Здравствуйте, lpd, Вы писали:

SVZ>>Что-то мне подсказывает, что проблема с циклическими зависимостями возникает из-за попыток программировать на плюсах как на яве или шарпе.


lpd>Интересно, в чем отличие стиля кода на яве от С++?(Реально интересно, т.к. на яве не писал. Речь про Dependency Injection?) Не из-за того ли стиль С++ другой, что его не используют для бэкенда(что плохо)?

lpd>Надеюсь, стиль явы не только тем и плох, что возникают циклические ссылки.

В манагед языках нормально, когда права владения объектом футболятся по всему приложению — GC разберется.
А когда тот же приём начинают применять в С++, да еще и взаимные шаред поинтеры между объектами устанавливают, когда между ними можно либо выстроить отношения вледелец-подчиненный, либо завести отдельного арбитра для управления временем жизни, то вот и получаем косяки на ровном месте.
Короче, С++ требует более вдумчивого проектирования. Ява с Шарпом прощают больше
_____________________
С уважением,
Stanislav V. Zudin
Re[13]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 08:50
Оценка:
Здравствуйте, so5team, Вы писали:

S>Это когда вы в CAD-е программы для станков с ЧПУ делали?


Лол, нет конечно, какое тут программирование? Это ты типа так "тонко" шутишь?

S>Так-то VxWorks, QNX и OS-9/9000 были вполне себе многозадачными.


Вот 3 года софт для производства на QNX в начале века я и писал. Только потом, когда стали заниматься производством детекторов, требования по латенси были такие, что только микроконтроллер и С.
Re[13]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 08:55
Оценка:
Здравствуйте, so5team, Вы писали:

S>То, что останется, будет всяко лучше чистого C.


Да, но нет. Останутся наверное только неймспейсы и шаблоны, но насчет шаблонов не уверен, так как не на всех платформах все будет гладко, а еще потеряем ABI и дадим возможность рано или поздно занести что-то сломающее ноги (этот аргумент так себе, тут мне про процессы будут возражать, но живем в реальном мире, если что-то может произойти — оно произойдет).

DI>>Но хорошо, вот мы его кастрировали, это панацея для realtime critical?


S>А что такое realtime critical? Есть mission critical, business critical, а вот что значит realtime critical и чем оно отличается от просто realtime?


Использую терминологию CreatorCray, все вопросы к нему: http://rsdn.org/forum/job/7554656.1
Автор: CreatorCray
Дата: 30.09.19
Re[13]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 08:58
Оценка:
Здравствуйте, CreatorCray, Вы писали:

DI>>Не весь С++ одинаково полезен?

CC>С++ это только сам язык. Либы отдельно.

STL описан в стандарте С++, так что не засчитывается.

DI>>>>Как понимание того, что происходит внутри контейнеров поможет написать рилтайм критикал код?

CC>>>Примерно так же как понимание разницы между O(n) и O(log n)
DI>>Так как-же?
CC>Sapienti sat, зелёный.

Это понимать как слив? Ок.

CC>>>А кто забыл сказать что этот поток должен выполняться на IRQL DISPATCH_LEVEL?

DI>>realtime critical на винде? Однако.
CC>Прикинь!

Лол

DI>>Это еще каким образом? При запуске realtime critical из под гипервизора? Мсье определенно в извращениях понимает.

CC>

Что, дружок, снова нырнул в неприятную субстанцию? Ну видать нравится, не могу мешать.

DI>>Ну вот исключения, например, вполне себе часть ядра языка. Тоже негодная фича? Я собственно к тому и веду, что когда мы выберем подмножество С++ годное в упомянутому специфическому кейсу, от С++ внезапно практически ничего не останется.

CC>Эта песня хороша, начинай сначала.
CC>Иди перечитывай RSDN за последние лет 10.

И снова слив.

Re[14]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 30.09.19 08:58
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Да, но нет. Останутся наверное только неймспейсы и шаблоны


Да, но нет. Не только.
Re[15]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 08:59
Оценка:
Здравствуйте, so5team, Вы писали:

DI>>Да, но нет. Останутся наверное только неймспейсы и шаблоны


S>Да, но нет. Не только.


А что еще?
Re[14]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 30.09.19 09:07
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Только потом, когда стали заниматься производством детекторов, требования по латенси были такие, что только микроконтроллер и С.


И на основании факта наличия real-time задач со временем отклика в микросекунды или единицы миллисекунд вы делаете общий вывод о том, что применение специализированных многозадачных RTOS -- это такое себе?

Вау.
Re[14]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 30.09.19 09:18
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Да, но нет. Останутся наверное только неймспейсы и шаблоны

А куда денутся например RAII, RVO, move, variadics?

DI> но насчет шаблонов не уверен, так как не на всех платформах все будет гладко

Платформы под который в 2019 нет промышленного компилятора — это малость странный выбор.

DI>Использую терминологию CreatorCray, все вопросы к нему: http://rsdn.org/forum/job/7554656.1
Автор: CreatorCray
Дата: 30.09.19

Звать обычный (не placement) new в time critical code — CCЗБ


Не, таки к тебе вопросы. У меня ничего про "realtime critical" нету.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 30.09.19 09:18
Оценка: -1
Здравствуйте, Denis Ivlev, Вы писали:

DI>STL описан в стандарте С++, так что не засчитывается.

Пофигу. С++ это только сам язык.

DI>>>>>Как понимание того, что происходит внутри контейнеров поможет написать рилтайм критикал код?

CC>>>>Примерно так же как понимание разницы между O(n) и O(log n)
DI>Это понимать как слив? Ок.
Это понимать как "у меня нет желания тебя кормить на эту тему". Если ты валяешь дурочку, задавая тупые вопросы то валяй без меня.

DI>Что, дружок, снова нырнул в неприятную субстанцию? Ну видать нравится, не могу мешать.

Иди почитай за SMM лучше, чудо!

CC>>Эта песня хороша, начинай сначала.

CC>>Иди перечитывай RSDN за последние лет 10.
DI>И снова слив.
А ты еду ждал?
Иди, хавай консервы. Таких как ты тут уже много пробегало.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[15]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 09:34
Оценка: -2
Здравствуйте, so5team, Вы писали:

S>И на основании факта наличия real-time задач со временем отклика в микросекунды или единицы миллисекунд вы делаете общий вывод о том, что применение специализированных многозадачных RTOS -- это такое себе?


S>Вау.


Что-то конструктива в твоих словах нет. Я так понимаю у тебя от чего-то бомбит и тебе поэтому очень надо передо мной покривляться? Давай может сначала с этим разберемся, а потом уже продолжим. Чем я тебя обидел?
Re[16]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 30.09.19 09:46
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Что-то конструктива в твоих словах нет.


Есть примеры многозадачных RTOS, которые успешно применяются для hard real-time систем на протяжении уже многих десятилетий.

При этом есть ряд real-time задач со временем отклика около миллисекунды или меньше миллисекунды, для которых "большие RTOS" либо не пригодны, либо требуют специальной конфигурации, в которой нет поддержки многозадачности. Но на основании этих примеров делать заявление:

Ну и вообще использовать многозадачные ОС для realtime critical кода? Ну такое.


Ну такое, если вашим языком выражаться.

DI>Я так понимаю


Нет.
Re[15]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 09:55
Оценка:
Здравствуйте, CreatorCray, Вы писали:

DI>>Да, но нет. Останутся наверное только неймспейсы и шаблоны

CC>А куда денутся например RAII

Согласен

CC>RVO


Это и в С есть

CC>move


Не уверен

CC>variadics?


Ну такое, на некоторых платформах такой поддержки новых стандартов просто нет.

CC>Платформы под который в 2019 нет промышленного компилятора — это малость странный выбор.


Это обычное дело

CC>Не, таки к тебе вопросы. У меня ничего про "realtime critical" нету.


Конечно нет, это ты ввел термин:

А кто протерял код который пиннит страницы для realtime critical кода?


http://rsdn.org/forum/job/7554656.1
Автор: CreatorCray
Дата: 30.09.19
Re[15]: Оставаться в С++ или уходить?
От: Denis Ivlev  
Дата: 30.09.19 09:58
Оценка: +1 -1
Здравствуйте, CreatorCray, Вы писали:

DI>>STL описан в стандарте С++, так что не засчитывается.

CC>Пофигу. С++ это только сам язык.

Не пофигу.

DI>>>>>>Как понимание того, что происходит внутри контейнеров поможет написать рилтайм критикал код?

CC>>>>>Примерно так же как понимание разницы между O(n) и O(log n)
DI>>Это понимать как слив? Ок.
CC>Это понимать как "у меня нет желания тебя кормить на эту тему". Если ты валяешь дурочку, задавая тупые вопросы то валяй без меня.

То есть слив.

DI>>Что, дружок, снова нырнул в неприятную субстанцию? Ну видать нравится, не могу мешать.

CC>Иди почитай за SMM лучше, чудо!

Снова слив.

CC>>>Эта песня хороша, начинай сначала.

CC>>>Иди перечитывай RSDN за последние лет 10.
DI>>И снова слив.
CC>А ты еду ждал?

Ждал, что ты начнешь аргументированную дискуссию, хотя по тем ржакам, что ты написал, было понятно, что будет быстрый слив.
Re[11]: Оставаться в С++ или уходить?
От: lpd Черногория  
Дата: 30.09.19 10:16
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>В манагед языках нормально, когда права владения объектом футболятся по всему приложению — GC разберется.


Ну может так проще реализовать логику типичной развесистой архитектуры enterprise, то есть это объективно удобно.

SVZ>А когда тот же приём начинают применять в С++, да еще и взаимные шаред поинтеры между объектами устанавливают, когда между ними можно либо выстроить отношения вледелец-подчиненный, либо завести отдельного арбитра для управления временем жизни, то вот и получаем косяки на ровном месте.

SVZ>Короче, С++ требует более вдумчивого проектирования. Ява с Шарпом прощают больше

Ну так это недостаток С++, который и ограничивает его область применения. Скорее всего, отсутствие сборки мусора — одна из основных причин, почему из бэкенда и вытеснили С++. Никто не хочет в большой программе при добавлении каждого нового указателя думать, а не получится ли кольцевая сылка. Зачем это?
Я не особенно опытный архитектор, но как-то писал сервер для мобильных клиентов на С++, и круговые ссылки там были(умные указатели, естественно, не использовал).
Язык должен позволять выразить любую архитектуру, причем простым и удобным образом. А не требовать от разработчиков соблюдать какие-то искуственные правила, усложняя их жизнь разнообразием видов weak/shared/unique поинтеров.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Отредактировано 30.09.2019 10:16 lpd . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.