Hacker News new | ask | show | jobs
by jcranmer 3345 days ago
> OK, it's a systems language, but what does that even mean? You can write a system in any language right?

When people refer to systems languages, they usually refer to languages that need to do lower-level interactions with hardware. For example, calling to your graphics card manually rather than using a high-level GUI toolkit. Or mmap'ing memory, or using internal JITs. This means that you need clear C and assembly interoperability and generally want to avoid garbage collection.

1 comments

Or to put it more succinctly, deterministic behavior. Important for anything time(r) critical. You don't want a GC pause to hit at the wrong time...
> You don't want a GC pause to hit at the wrong time...

Military don't see to have any issue using real time Java to control weapon systems.

Aonix, nowadays part of PTC, has lots of customers. From missile systems to battle cruiser targeting systems.

So apparently Java real time GCs don't have any issue on the battlefield.

Battlefields are glacier slow compared to games, vr, trading, data processing, etc.
Tell that to a missile radar system that needs to evaluate in in real time what the missiles it is tracking are actually going to hit.

Example the NORMANDIE ballistic missile tracking.

http://www.businesswire.com/news/home/20090302005701/en/Thal...

I have other examples, like battleship gun turrets computer aided targeting systems. You don't want the computer to stop for thinking instead of live tracking what those turrets are supposed to hit.