For most people, describing what best defines a programming language is a difficult task. It is easy to mix up terminology and think a coding language is synonymous with a programming language. However, that is certainly not the case.
So if you’re one of those people who think that HTML is a programming language, let me assure you, it is not.
Definition Of A Programming Language
In simplest terms, a programming language can best be defined by the way we use it. We use a programming language with the intent of writing logical statements in order to create algorithms. The whole purpose of a programming language is to act as the communicator between you and a computer to solve a given task at hand by giving the computer instructions to execute.
Programming is the basis of everything you do on a computer. However, it may be best with a simple example.
A Quick Example: Calculators
Take a basic calculator, which is usually one of the first programs a beginner will create.
Whenever you press a button, the computer needs to understand what exactly is happening. If you press the plus button, for example, the computer knows it needs to add the previous number to the next number. If you press an integer, the computer needs to know that you are inputting an integer (number) value.
This is where programming comes into play. You are essentially giving your program a brain in order to make sense of these actions. Pretty cool!
In order for the computer to make sense of these actions, you need to give it a logical sequence of events (an algorithm) to perform to make sure you get the intended outcome.
There are a lot of scenarios we need to watch out for to make sure our algorithm works as intended. Let’s use our plus button as an example.
When someone presses the plus button on a calculator, there are many scenarios that the computer needs to check for.
For example, is there a number that has been inputted by the user before the plus button was pressed? Did the user press the divide or multiply button before pressing the plus button? Was the plus button pressed before anything else?
If there was a number inputted beforehand, there is a good chance the user meant to add that number to the proceeding number. What if they pressed the divide or multiply button beforehand, they probably meant to add instead. If they didn’t press anything at all beforehand, they probably didn’t mean to press the plus button.
In each of these scenarios, you can decide what the program is going to do. Should it add the numbers together? Throw an error? Give them an output of 1,349,569? You can literally do anything with a programming language. Even put someone on the moon!
The more complicated your program, the more complicated these scenarios become. It’s up to you as the programmer, in conjunction with the programming languages you are using, to solve these problems.
How Are Languages Like HTML and CSS Different From Programming Languages?
So, hopefully, this is a bit more clear now, but in order for a coding language to also be a programming language, it needs to be able to instruct logical actions to a computer.
An important distinction between programming languages like C, Java, JavaScript, or Python and HTML or CSS is simple. You could never build a calculator with just HTML or CSS.
Not just that but you couldn’t build any logical programming with HTML and CSS.
Although it may seem like you are giving logical instructions in these languages, you are really declaring actions with these languages. For example, you may want to display an image on the screen or change the color of the background to blue. However, there is no logical aspect to this. You are declaring, at every instance this program is run, what you want to happen.
Well, what if you wanted to change the background to blue, but only if there is already an image that exists on the page? That’s totally possible to do, but only with a programming language like JavaScript! Since it depends on a logical statement (do this if that).
Conclusion
So that’s pretty much all you need to know! What best defines a programming language is done by acknowledging the language’s capabilities. Is the language capable of communicating logical statements to a computer? Then it is probably a programming language.
If you are a new developer and are just getting into web development, check out a compiled list of free resources here.
If you are looking at what language to start with, check out the best language for coding interviews here.
Happy coding!