Что мешает то же самое делать с произвольным языком X? Напомню, кстати, realtime-приложения - это не те, которые вот прям за наносекунду всё обсчитывают, а те, для которых гарантированы временные ограничения на работу участков кода. Если у программиста не кривые руки, то можно и на Java такое писать, если кривые, то и на Си он ничего не напишет. Множество раз видел, как люди устраивали инверсии приоритетов, как алгоритмы писали кривые и т.д. и т.п. и считали при этом, что Си/Си++ им автоматически даст какой-то realtime.
Ни на какой Яве такое не напишешь. Ява не гарантирует, что она не отключится в какой-то момент для сборки мусора или ещё чего-то. Язык и компилятор таких языков настолько сложен, что его нельзя назвать обозримыми. А закрытость кода исключает «прозрачность сверху донизу» — одно из требований к такому ПО.
На Ростовской АЭС требования были ещё жёстче: программа должна быть не просто реального времени, но и детерминирована. То есть для каждого момента времени надо, чтобы можно было заранее определить, что будет делать программа (на какой фазе находиться) в этот момент.
«Если у программиста не кривые руки, то можно и на Java такое писать...»
- - - -
Можно и яму ложкой копать, но зачем? Вероятность успешно выполнить задачу снижается прости до нуля.