Lisp, wow, haven’t seen or used that for decades😁
Oohhhh Ritch, if only we had a debating platform… this thread could go on and on and on, but I’m compelled to at least reply , just the once…
I work at the Assembly level, one level away from pure machine code, so i do have some experience of language analysis of the “trendy” stuff like Java and C# etc , often called upon to identify compliation errors causing machine level faults.
Type safety is inherent in and linked tightly with, memory safety where a restriction is set on the “language” ability to copy arbitrary bit patterns between memory locations. I use “language” loosely to refer to the various stages of compilation and execution
In an implementation of a language that has some sequence of bits (of the appropriate length) , if a resultant machine level operation does not represent a legitimate representative value and is subsequently permitted (through the complier output instructions) to be copied into a [variable] of incompatible register or data level, then it is not type-safe.
I can 101% attest that JAVA is type unsafe, absolutely. Where engineering gets confused is that the Java libraries include and abstract the type-safety mechanisms, thus the “safety” if one can call it such, is inherently an attribute of the LIBRARY and NOT the complier , read JRE !
That is why Java is not nor ever will be used for mission and Safety critical embedded systems where such type-unsafe consequences yield totally unacceptable effects including loss of state machine data, system halts, access violations, register overflows and data loss.
I wouldn’t want to loose all FADEC systems on my flight across the Atlantic. Oh no Ritch, I assure you there is NO Java on flight code, only RTOS (greenhills) Ada and Machine code, and DoD /MoD willing, heavily certified ‘C’ and perhaps a dash of Fortran for the math heavy stuff
java is a country people fly to😁
p.s I know sod all about windows and OH , although i once squeezed a supervisor kernel into z8086 !!