Available in most compiled module languages, either separately, Modula-2, Modula-3, Ada, Standard ML, Caml Light, OCaml, F#, D.
Or it can be generated either as text, or graphical tooling, Object Pascal, D, Haskell, Java, C#, F#, Swift, Go, Rust.
All with stronger typing, faster compilation (Rust and Swift toolchain still need some work), proper namespacing.
Unfortunately C tooling has always been more primitive than what was happening outside Bell Labs, and had AT&T been allowed to take commercial advantage, history would be much different, instead we got free lemons, instead of nice juicy oranges.
At least they did come up with TypeScript for C, and it nowadays supports proper modules, alongside bounds checked collection types.
Or it can be generated either as text, or graphical tooling, Object Pascal, D, Haskell, Java, C#, F#, Swift, Go, Rust.
All with stronger typing, faster compilation (Rust and Swift toolchain still need some work), proper namespacing.
Unfortunately C tooling has always been more primitive than what was happening outside Bell Labs, and had AT&T been allowed to take commercial advantage, history would be much different, instead we got free lemons, instead of nice juicy oranges.
At least they did come up with TypeScript for C, and it nowadays supports proper modules, alongside bounds checked collection types.