High-level and low-level languages! 🗼
Hi, *|USERNAME|*!
When we talk about programming languages, a common way to describe them is by referring to their level of abstraction. This is just a fancy way of saying how closely the language mimics everyday English language. Or, to put it differently, how far the language is from us just writing 0's and 1's that our computers understand. A high-level language is one where we use English words and symbols extensively to tell our computers what to do. A low-level language is one where there is little abstraction and we are pretty close to speaking the same language our computers speak, which is a lot of strange characters and numbers.
The following (totally non-comprehensive) diagram is a classification of where some popular programming languages fall in this high-level and low-level range:
This classification between high-level and low-level programming languages has many other details we can infer beyond just how easy the language is for humans like us to understand. A big one is performance:
The higher the level of abstraction, the more steps our computers have to run through to get to the lower levels that they can actually understand. The latest article on the site touches upon this as part of looking at what compiling and transpiling exactly mean.
At the end of the day, your choice of which programming language you choose to learn is based on many factors. A big one has to do with why you are learning the language in the first place. If it is to get ready for a current job or potential future job, then other considerations may not matter. What you are planning on building plays a role here as well. If you are working on embedded devices or low-level hardware, you will probably be leaning more towards the low-level side of the programming stack. If you are building a cool web-based app, then you will naturally be buoyed up to the high-level part of the stack. Knowing more about the levels of abstraction programming languages are tagged in will help you narrow in on the right language to use for the right situation!
UNTIL NEXT TIME!
As always, before I leave you to it, I would love to hear from you on things I can do better, topics you'd like me to write about, and more. Don't be shy! The easiest way to contact me is via Twitter or by posting on the forums...the second age of the forums is just around the corner. This time, I am certain of it!
Cheers,
Kirupa 😛