Programming languages are either type-y, script-y, or register-y. Java and C# are very type-y. C is between type-y and register-y. TypeScript is between take a wild guess, as is Haskell. LLVM is between script-y and register-y. Machine code is of course right at the tip of register-y. As for the tip of script-y, that's (obviously) shell routines.
