The Hidden World of Systems Programming Languages

submited by
Style Pass
2021-06-13 02:00:04

Have you ever wondered what are the programming languages that power our modern world? From my perspective living in Latin America, I see great trends towards Web Development. People learning JavaScript (in many flavors and many frameworks: Node.js, Angular, React, Vue, Vanilla, TypeScript, etc.) and perhaps PHP. These languages and technologies present great opportunities for serving the ever-emerging market of Software Web Development, but have you ever thought about the programming languages that actually enable us the modernities of today?

A codebase that uses a compiled language almost always beats a same-purposed codebase written in interpreted languages, in regards to performance. Of course, no amount of compiler magic will save you from poorly structured or inefficient code. The scale of difference in performance is such that it gets close to a comparison of the size of a car and the size of the Sun. It’s just that vast, and I’m being conservative, like another realm entirely. The reason for this is related to the low-level facilities that compiled languages are better suited to access. Think of technology stacks where each level adds its own execution overhead.

To further explain my point: In the case of interpreted languages, since you always need an interpreter (Just-in-Time compilation, interpretation of code during the execution of instructions) this adds its own overhead each time the code runs whereas compiled languages (Ahead-of-Time compilation, code already in binary before execution) the price of interpreting the code has already been paid by the compiler, for once and for all future runs, so no overhead is ever paid again since the processor already can understand the instructions of the application. Of course, the operating system is always between the program and the hardware and is a layer in itself, but given you use an operating system that’s generally available, I’m pretty sure that has been optimized to have the least amount of impact on performance for end-user software.

Leave a Comment