|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
mayton А мне интересно другое. Почему "надёжники" (военные и аэрокосмос) не используют С++ Используют, но чаще C, чем C++. О MISRA что-то слышали? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:21 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... А мне интересно другое. Почему "надёжники" (военные и аэрокосмос) не используют С++ а выбирают всякие Ады и Модулы и прочие паскали. Наверное есть у них какая-то рекомендация по этому поводу. Хотелось бы услышать. Кто в теме - прокомментируйте. Утверждение неверное. Кстати, допустим, мы пишем бортовую программу для авиационного комплекса на С++. И где-то с какой-то вероятностью выходим за пределы массива или указатель показывает на уже не существующий объект. Как ни странно такая программа на С++ может на практике работать надёжнее, чем если мы напишем на Яве и допустим такие же ошибки. Это удивительно, но это так. Грамотнее говорить не Ява а Джава. Этож тебе не мотоцикл. Верно? Если хочешь быть понятым в обществе - прими правильую терминологию. Ситуацию с выходом за границы массива надо рассмотреть отдельным топиком. Тема интересная. И я убежден что философия fail-fast - тоесть упасть быстро и сразу должна быть выбрана как метод поиска ошибок. И замыливать их или прятать по неопределённое поведение - не есть гуд. Выж не хотите уронить ваш самолет как Боинг-737 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:29 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
ptr128 mayton А мне интересно другое. Почему "надёжники" (военные и аэрокосмос) не используют С++ Используют, но чаще C, чем C++. О MISRA что-то слышали? Я невкурсе. Яж по этому и спрашиваю. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:30 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Утверждение неверное. Кстати, допустим, мы пишем бортовую программу для авиационного комплекса на С++. И где-то с какой-то вероятностью выходим за пределы массива или указатель показывает на уже не существующий объект. Как ни странно такая программа на С++ может на практике работать надёжнее, чем если мы напишем на Яве и допустим такие же ошибки. Это удивительно, но это так. Грамотнее говорить не Ява а Джава. Этож тебе не мотоцикл. Верно? Если хочешь быть понятым в обществе - прими правильую терминологию. Ситуацию с выходом за границы массива надо рассмотреть отдельным топиком. Тема интересная. И я убежден что философия fail-fast - тоесть упасть быстро и сразу должна быть выбрана как метод поиска ошибок. И замыливать их или прятать по неопределённое поведение - не есть гуд. Выж не хотите уронить ваш самолет как Боинг-737 ? А вы хотите лететь на самолёте, который построен на идеологии fail-fast? Как в том фильме: моменто морэ — моментом в море. На испытаниях fail-fast да хорош. Но это трудно совместить. PS: Я чаще встречал Ява, а не Джава. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:40 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav Visual Studio давно уже поддерживает сторонние компиляторы, сторонние системы сборки и кросскомпиляцию. Весь прикол в том, что это предлагается делать через тот же make. После чего VS со всеми потрохами превращается по функциональности в Atom, но тормозной и жрущий кучу памяти. A отлаживаться пробовали? А я пробовал. Настроить remote debug через через gdb и ICE мне так и не удалось. Гарвардскую архитектуру вообще не поддерживает никак. Хотя на Eclipse это взлетает сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:43 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:48 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Грамотнее говорить не Ява а Джава. Этож тебе не мотоцикл. Верно? Если хочешь быть понятым в обществе - прими правильую терминологию. Ситуацию с выходом за границы массива надо рассмотреть отдельным топиком. Тема интересная. И я убежден что философия fail-fast - тоесть упасть быстро и сразу должна быть выбрана как метод поиска ошибок. И замыливать их или прятать по неопределённое поведение - не есть гуд. Выж не хотите уронить ваш самолет как Боинг-737 ? А вы хотите лететь на самолёте, который построен на идеологии fail-fast? Как в том фильме: моменто морэ — моментом в море. На испытаниях fail-fast да хорош. Но это трудно совместить. PS: Я чаще встречал Ява, а не Джава. Хорошо. Говори как угодно. По самолётам - я-бы больше доверял пилотам в спорных ситуациях. А не софту. Давай обсудим этот месседж. Кстати, допустим, мы пишем бортовую программу для авиационного комплекса на С++. И где-то с какой-то вероятностью выходим за пределы массива или указатель показывает на уже не существующий объект. Как ни странно такая программа на С++ может на практике работать надёжнее, чем если мы напишем на Яве и допустим такие же ошибки. Это удивительно, но это так. Я не претендую на твои самолетные знания. Мне просто любопытно. Раскрой суть этой магии что я процитировал выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:50 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
mayton Ситуацию с выходом за границы массива надо рассмотреть отдельным топиком. С точки зрения MISRA C++ 2008 (новей под рукой нет) Rule 5-0-15 (Required) Array indexing shall be the only form of pointer arithmetic. Rule 5–0–16 (Required) A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array. Rule 5–0–17 (Required) Subtraction between pointers shall only be applied to pointers that address elements of the same array. Rule 5–0–18 (Required) >, >=, <, <= shall not be applied to objects of pointer type, except where they point to the same array. И все это только для того, чтобы сканер исходного кода мог понять, возможен ли выход за границы массива или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:56 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
ptr128 Ссылки приводят к PVSStudio. Спасибо. Я понял что это. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 21:59 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
mayton Кстати, допустим, мы пишем бортовую программу для авиационного комплекса на С++. И где-то с какой-то вероятностью выходим за пределы массива или указатель показывает на уже не существующий объект. Как ни странно такая программа на С++ может на практике работать надёжнее, чем если мы напишем на Яве и допустим такие же ошибки. Это удивительно, но это так. Я не претендую на твои самолетные знания. Мне просто любопытно. Раскрой суть этой магии что я процитировал выше. А что тут раскрывать? Мне кажется мы отлично друг-друга поняли. Просто такая программа на С++ может начать подглючивать, но в общем продолжать работать. Может не так точно, с непонятными пилоту особенностями — но работает и самолёт летит. В случае Явы такая программа или полностью грохнется, или откажет целый блок логики. Прямо в эксплуатации. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:06 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
mayton ptr128 PetroNotC Sharp, то есть Вы все же согласны, что если программировать на C++ не только простые приложения под Windows, то VS на этом заканчивается и начинается Atom/Eclipse ? Под "простые" я понимаю те, где не нужна ни AOCC (AMD), ни Intel Parallel Studio, ни что либо еще так же не вписывающееся в парадигму MS All-In-One ))) А мне интересно другое. Почему "надёжники" (военные и аэрокосмос) не используют С++ а выбирают всякие Ады и Модулы и прочие паскали. Наверное есть у них какая-то рекомендация по этому поводу. Хотелось бы услышать. Кто в теме - прокомментируйте. "Военные и аэрокосмос" используют Фортран (так сложилось, много старого софта и библиотек) и С/С++. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:09 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Я не претендую на твои самолетные знания. Мне просто любопытно. Раскрой суть этой магии что я процитировал выше. А что тут раскрывать? Мне кажется мы отлично друг-друга поняли. Просто такая программа на С++ может начать подглючивать, но в общем продолжать работать. Может не так точно, с непонятными пилоту особенностями — но работает и самолёт летит. В случае Явы такая программа или полностью грохнется, или откажет целый блок логики. Прямо в эксплуатации. Нет. Она никуда не грохнется. Будет IndexOutOfBoundException и если ты его обработаешь в ближайшей ловушке catch то можешь принять решение что делать. Как вариант - перезапустить поток вычислений заново. Но память при этом нигде не будет повреждена записью. По поводу "подглючивать и работать" - неясно. Но я понимаю к чему ты клонишь. Тоесть если-бы мы увидели в N+1 элементе массива мусор - то это не повлияло бы на некую главную логику принятия решений. Но здесь мне кажется что ты взял слишком уж частный случай. И я хотел услышать мнение других С++ ников по этому поводу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:14 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
ъъъъъ, фортран почти все используют. Даже Intel MKL, преимущественно, на фортране. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:16 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... А что тут раскрывать? Мне кажется мы отлично друг-друга поняли. Просто такая программа на С++ может начать подглючивать, но в общем продолжать работать. Может не так точно, с непонятными пилоту особенностями — но работает и самолёт летит. В случае Явы такая программа или полностью грохнется, или откажет целый блок логики. Прямо в эксплуатации. Нет. Она никуда не грохнется. Будет IndexOutOfBoundException и если ты его обработаешь в ближайшей ловушке catch то можешь принять решение что делать. Как вариант - перезапустить поток вычислений заново. Но память при этом нигде не будет повреждена записью. Ты рассуждаешь как по учебнику. Обложить try, перезапустить поток. Ты сам-то представь каждый operator[] обложить try. Или перезапустить поток с полной потерей состояния. mayton По поводу "подглючивать и работать" - неясно. Что не ясно? mayton Но я понимаю к чему ты клонишь. Тоесть если-бы мы увидели в N+1 элементе массива мусор - то это не повлияло бы на некую главную логику принятия решений. Но здесь мне кажется что ты взял слишком уж частный случай. Да это самый распространённый случай багов везде. 90% багов не приводит к падению, но приводит к странному поведению программы. Иногда вообще баги не заметны, просто на выходе искажённая информация, но выглядит она корректной. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:33 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Нет. Она никуда не грохнется. Будет IndexOutOfBoundException и если ты его обработаешь в ближайшей ловушке catch то можешь принять решение что делать. Как вариант - перезапустить поток вычислений заново. Но память при этом нигде не будет повреждена записью. Ты рассуждаешь как по учебнику. Обложить try, перезапустить поток. Ты сам-то представь каждый operator[] обложить try. Или перезапустить поток с полной потерей состояния. А что плохого в том чтобы перезапустить поток? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 23:18 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav В случае Явы такая программа или полностью грохнется, или откажет целый блок логики. Да, выход за пределы массива - RuntimeException, которое необязательно обрабатывать, но если обрабатываете - можно восстановиться и во всяких "непонятных" ситуациях. Как минимум - выходом в некую "контролируемую точку" с чётким протоколированием где именно случилась пакость и какого она была цвета. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 07:10 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
Модератор: Редактировано Поддерживается еще не всё и не везде https://en.cppreference.com/w/cpp/compiler_support gcc11 который только выходит и тот по дефолту будет C++17 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 11:34 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov petrav В случае Явы такая программа или полностью грохнется, или откажет целый блок логики. Да, выход за пределы массива - RuntimeException, которое необязательно обрабатывать, но если обрабатываете - можно восстановиться и во всяких "непонятных" ситуациях. Как минимум - выходом в некую "контролируемую точку" с чётким протоколированием где именно случилась пакость и какого она была цвета. Вы сами-то хоть раз написали программу где вокруг каждого operator[] стоит try и прописана логика восстановления функционала? Как такая логика вообще может выглядеть? А выход в "контролируемую точку" — это как раз то о чём я писал. В полёте у вас просто откажет целый блок логики, вообще перестанет работать. А ведь на него (на блок) опираются другие подсистемы. PS: Вы сами сядете в самолёт, который спроектирован по принципу fail-fast? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:06 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav, Ну, если вы не писали try так как его нет в плюсах, то не так страшно. Код: java 1. 2. 3. 4.
Весь корпоративный софт пишется чтобы не отказал блок логики ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:15 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petrav, >PS: Вы сами сядете в самолёт, который спроектирован по принципу fail-fast? Они на этом принципе и летают ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:25 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
В топике - какая-то подмена понятий. Когда я говорил fail-fast - я подразумевал быстрое информирование о том что ПРОБЛЕМА БЫЛА. Как ее решать - отдельный протокол. Проверять регистры состояний процессора. Сигналы аля- чистый "C" или другие мехнизмы. petrav говорит - информирование неважно. Важно чтоб программа глючно, но работала. Вот только этот факт вызвал моё удивление. Конечно я не хочу чтобы самолёт со мной вместе падал при любом делении на ноль. Надеюсь что я понятно объяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:36 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
maytonКонечно я не хочу чтобы самолёт со мной вместе падал при любом делении на ноль. А тебя никто и не пустит в самолёт, который не прошёл испытания. Если, конечно, ты не лётчик-испытатель. И fail-fast в них как раз нужен чтобы они падали на испытаниях, а не в последующей эксплуатации. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:48 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
petravВы сами-то хоть раз написали программу где вокруг каждого operator[] стоит try и прописана логика восстановления функционала? Не нужно "вокруг каждого". Ну вот смотри, поимер: сервер обрабатывает запросы клиентов. Обработка атомарного запроса выполняется в try-catch блоке, обработка может быть сколь угодно сложной, исключения бросаются по разным причинам: самим кодом разработчика ("неправильный формат запроса", "недопустимый id клиента", "ресурс недоступен",... ) или средой выполнения ("невозможно выделить блок памяти указанного размера", "переполнение при вычислениях", "недостаточно прав",...). В большинстве случаев реакцией на исключение является отказ в обработке запроса и переход к обработке нового запроса. Ничего сложного. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:50 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov maytonКонечно я не хочу чтобы самолёт со мной вместе падал при любом делении на ноль. А тебя никто и не пустит в самолёт, который не прошёл испытания. Если, конечно, ты не лётчик-испытатель. И fail-fast в них как раз нужен чтобы они падали на испытаниях , а не в последующей эксплуатации. Страшный ты человек, Сибиряков. А лётчики-испытатели — они что не люди что ли? Или по твоему у них работа такая, что бы самолёты падали вместе с ними? Или по твоему, раз самолёт прошёл испытания и сертификацию, так там и ошибок что ли нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:54 |
|
Visual Studio 2019 или Visual Studio Code?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov maytonКонечно я не хочу чтобы самолёт со мной вместе падал при любом делении на ноль. А тебя никто и не пустит в самолёт, который не прошёл испытания. Если, конечно, ты не лётчик-испытатель. И fail-fast в них как раз нужен чтобы они падали на испытаниях, а не в последующей эксплуатации. Я с вашего позволения побуду пассажиром. А вот цитата wiki по поводу самого термина The responsibility of a fail-fast module is detecting errors, then letting the next-highest level of the system handle them. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 13:56 |
|
|
start [/forum/topic.php?fid=57&msg=40035978&tid=2017255]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 294ms |
0 / 0 |