The 3 Keystones of a Programming Language
Computers by and large have advanced rapidly in the last decade: Smaller transistors, better fabrication capabilities, newer technologies for storing and transmitting data, and many more such advances. Though these advances are great, they are forever tied to the chief driver of innovation of them all: programming languages. Without steady advances in programming languages, the achieved technical prowess of such machines would be for naught. But what is a programming language and what are the 3 keystones of programming languages? In this article, we’ll explore the definition of a programming language, as well as the 3 keystones of programming languages. A programing language is defined as: “an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.” – Source: Wikipedia
Means of expression – each one of these languages has a way to create simple things within them. Strings(Text characters.), Integers (Numbers), Variables (Things whose value can change). The list goes on and is only limited by our imaginations.
Means of combination – each of these languages has a way to combine primitive expressions to form more complex ideas. You can add a string to another string, thus making an even longer one. You could even add, multiply, divide, or subtract two integers to create a new one whose value was held in a variable.
Means of abstraction – each of these languages has a way to abstract, or make unknown the inner and sometimes minor details of itself – suppose you wanted to know the result of a simple equation. You already know to create the numbers (primitive expressions), and to perform operations on them (means of combination), but what if you needed to perform this equation multiple times with different numbers? It would be unnecessarily tedious to type and re-type the same equation over and over again, but the key lies in using abstraction.
In each of these languages, you are able to create a “function” that accepts “parameters.” The neat thing is that instead of having to type each equation, you merely pass the different numbers to the “function” as “parameters” and the programming language handles the rest! Though there are as many languages available to use as the day is long, they all adhere to these 3 keystones. Despite the naming conventions, performance, or features, if you are able to understand and take to heart these 3 keystones, you will be well equipped to accept the challenge of, and revel in the fun of any programming language. We’ve covered quite a few intensive topics in this article so for now, I’ll leave you with only this: “Stay hungry, Stay foolish”
Source: Skynet Solutions
By: Jevarlow Boykins