Hacker News new | past | comments | ask | show | jobs | submit login

Indeed. Higher level languages (and that includes symbolic assembly languages) were invented by some smart and kind people in order to make computers easier to program, allowing more kinds of people to be programmers. The idea that you can hold users hostage with compiled code came later; it is an accidental by-product of the model of compiling richly annotated, symbolic, high level code into a bit pattern for the machine.

There is a slight analogy in music. A symbolic musical score is "compiled" into a recording. If someone wants to change the music, they have to either obtain the score or "reverse engineer" it by ear. However, recordings do not have algorithmic behaviors; a "bug" in a recording has only an esthetic consequence. Nobody is the victim of a security bug or malware due to a flaw in a music recording. Performances are also art in their own right. They exhibit nuance and style.




Interesting points. I'll go further on the security aspect to say that having a high-level version can dramatically improve ability of customers to secure their operation. The reason is that they can apply countless improvements to static analysis, transformation of unsafe to safe, hardware, and so on. Hard to do this on platform-locked binaries. I've seen some impressive results but their impressiveness came from the uphill battle they fight. Better to make software maintenance and security a downhill battle using every trick we can.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: