Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 279 280 [281] 282 283 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#4201
,
|
|
|
|
|
Сообщ.
#4202
,
|
|
|
|
Цитата Qraizer Это не утопия, но будет очень дорого. т.е. теоретически можно создать Java VM, работающую в hard real-time? или таковая уже есть (Sun spot)? или в авионике все-таки допустим soft real-time? |
|
Сообщ.
#4203
,
|
|
|
|
Цитата Radagast @ т.е. теоретически можно создать Java VM, работающую в hard real-time? или таковая уже есть (Sun spot)? или в авионике все-таки допустим soft real-time? Интереснее GC реалтаймовской джавы. В той, что есть, на сколько мне известно, памятью управляет программист. |
|
Сообщ.
#4204
,
|
|
|
|
[S]mike, как он SQLite за пояс засунул? Уже на айфоне есть? Бугага.
|
|
Сообщ.
#4205
,
|
|
|
|
|
Сообщ.
#4206
,
|
|
|
|
Цитата [S]mike @ Ибо засовывает за пояс всякие SQLite ты б еще хрен с дверной ручкой сравнил, SQLite -- это маленькая встраиваемая БД. и его полно в самы разных прогах Цитата [S]mike @ с Postgres. то, что делфисты прирожденные сказочники, мы уже уяснили Цитата [S]mike @ Ну а про MySQL молчу. Как его только веб-сервера выдерживают? если FB такой крутой, то почему на веб-серверах MySQL, а не FB? Добавлено омг, сменил в IDEA language level с 5 на 8, теперь в коде ![]() ![]() try { throw new SpecificException(); } catch (SpecificException exn) { System.err.println("Specific"); } catch (GeneralException exn) { System.err.println("General"); } она подсвечивает вторую секцию catch и подсказывает, что она недостижима |
|
Сообщ.
#4207
,
|
|
|
|
Цитата korvin @ если FB такой крутой, то почему на веб-серверах MySQL, а не FB? Потому что MySQL - экзотика, разве не понятно? Уже года два как вебморда прикручена. Ну не носить же с собой thebat повсюду? |
|
Сообщ.
#4208
,
|
|
|
|
Цитата Adil @ Потому что MySQL - экзотика, разве не понятно? ах да, оно ж на маргинальном C (или C++), простите, забылся |
|
Сообщ.
#4209
,
|
|
|
|
Radagast, дело не в real-time как таковом, а в прогнозируемости затрат по ресурсам и их распределению, в частности процессорное время - тоже ресурс. Т.е. требуется возможность - пусть и очень трудоёмкая, ничего, чёрные ящики могут годами изучать - чётко расписать времянки каждой нитки каждого процесса каждого модуля всего-всего, что относится к флайт-коду, опираясь только на данные с датчиков и описание поведения софта. Ничего не моделируется, ничего не запускается.
Формально в Джаве я вижу только одним тормоз в этом отношении - сборщик мусора. Это преодолимо, получится ещё некий клон JavaRT, например, но это возможно. Правда, это с моей колокольни, так что могу ошибаться - характеристики и особенности джавы я не знаю в достаточно мере, чтобы утверждать что-то абсолютно. И будет даже лучше, если JITа у неё не будет, производительность системы с точки зрения отраслевых стандартов не принципиальна для сертификации. А вот с Дельфи, боюсь, будут сложности. Тоже преодолимые за некоторые суммы вложений, но есть ещё критерии, которые преодолеть будет настолько дорого, что по факту это скорее утопично, чем осуществимо. Вот с Паскалём таких проблем бы не было. |
|
Сообщ.
#4210
,
|
|
|
|
Цитата Qraizer @ А вот с Дельфи, боюсь, будут сложности. Тоже преодолимые за некоторые суммы вложений, но есть ещё критерии, которые преодолеть будет настолько дорого, что по факту это скорее утопично, чем осуществимо. какие именно? а то я пока вижу, что джава и делфи весьма похожи по поведению, за исключением наличия GC в первой |
|
Сообщ.
#4211
,
|
|
|
|
Qraizer, а почему JIT - плохо? Ведь фактически, единственное, что JIT делает - подставляет вместо байт-кодов последовательности нативных инструкций и производит локальную оптимизацию. Если ошибок в нем нет, то надежность не ухудшается.
|
|
Сообщ.
#4212
,
|
|
|
|
korvin и amk, причина одинакова. Весь флайт-код должен быть оттестирован. Флайт-код, относящийся к уровню критичности A - обязательно объектный, а не исходный. korvin, я ж уже как-то где-то говорил об этом. Посему шибко умные компилеры, вставляющие направо и налево то, чего не видно в сырцах, например проверки выхода индексов на границы массивов или копание в VMT в поисках RTTI записей, идут лесом, потому что их умность - это деньги заказчика. Собрать покрытие таких кусков юнит-тестами нереально. И это - только компиляторы, а уж сильно умные языки программироания - и подавно. Так что императив рулит.
Проблема решается исключительным методом: анализом ассемблерного листинга, если компилятор умеет его предоставлять, или дизассемблированного объектного кода, если не умеет (но в этом случае, пожалуй, придётся также трассировать дампы объектного кода на получившийся ассемблерный), и трассировка его фрагментов либо на строки сырцов исходников RTL (RTL, кстати, тестится на общих основаниях) или прямо на требования. Разумеется в LL-требования всё это придётся вносить и как-то трейсить на HL-требования, итд. Кто этим будет заниматься и за какие деньги? Языки C и C++ не зря называются предсказуемыми и обладают свойством нулевой стоимости неиспользования. А кроме того, у них есть международные стандарты, а не просто мануалы по F1. Значит эти стандарты можно считать частью требований на софт, а значит и при тестировании ссылаться на них так же, как на требования. Добавлено Собственно наличие JIT-а нестрашно. Просто его наличие усложняют процедуру сертификации кода по MC/DC, тот самый level A. |
|
Сообщ.
#4213
,
|
|
|
|
Цитата Adil @ Уже года два как вебморда прикручена. Ну не носить же с собой thebat повсюду? Разговор шел про google mail. Бат удобнее вебморды, по крайней мере мне. Цитата Qraizer @ Посему шибко умные компилеры, вставляющие направо и налево то, чего не видно в сырцах, например проверки выхода индексов на границы массивов или копание в VMT в поисках RTTI записей, идут лесом, потому что их умность - это деньги заказчика. Поясняю: во-первых, RTTI можно полностью отключить, как и проверку границ (вот второе - точно не надо). Во-вторых, весь код есть в исходниках RTL, компилятор код не пишет. |
|
Сообщ.
#4214
,
|
|
|
|
Qraizer
Цитата чётко расписать времянки каждой нитки каждого процесса т.е. в авионике аллокаторы С++ выделяют и освобождают память за строго определенное время? они предоставляются производителем компилятора, или можно заиметь такой под винду, например? |
|
Сообщ.
#4215
,
|
|
|
|
Radagast, В C++ можно предоставить аллокатор с константным временем выделения/освобождения памяти. Обычно количество объектов каждого типа в авионике имеет строгую верхнюю границу, сложные иерархии классов не нужны, так что можно заниматься выделением памяти вообще из предварительно выделенного пула.
|