Nope! We write a ton of soft-real-time applications in OCaml, where we have programs that turn around packets in single-digit microseconds, and process millions of transactions per second on a single-core OCaml program.
You need to adopt a very particular programming style where you allocate very little and promote nothing; but OCaml is actually a hospitable home for such programs, once you learn how to write them.
I used to think that linear and affine types were going to be more important for writing these kinds of applications. But while these programs have to recycle objects and therefore need to be cognizant of lifetimes, the disciplines around this tend to be very simple, and I don’t know of any bugs we’ve hit because of these cases. So I’m now less sure that that’s the place I want to spend my type-system complexity budget…
y