We often hear the words “computer program” and “computer programming.” But let's face it, not too many people are quite educated about them. This could be due to the fact that making programs is the most challenging branch of computer science.
Many experts claim that computer programming is in fact “The Holy Grail” of the entire computing realm. “How could computers ever work without the programs that act as their very soul?” programmers would most probably ask this question just to prove their importance to the world.
If we agree that no human body could ever move without the soul that allows it, then we have to acknowledge that without programming languages, the computer would be nothing but just an over-sized paperweight.
Why? Because they are the kind of programs that programmers need in order to create the software applications that computer users like you and me must have to get our jobs done– this could be the simplest statement that can define what is a programming language.
Another way to grasp it is by understanding what is a program. In nearly all books and articles that discuss it, it is described as “a set of instructions that tells the computer what to do.”
That being said, we could say that a programming language is a software where a programmer types those instructions, feed them into the computer's memory, so the machine can execute them– a process very similar to typing a story in MS Word, saving it into the computer's hard drive, and then printing it, so it can be given to the readers.
These instructions are often referred to as “code,” “script,” or just “program,” although the latter is being regarded as the actual output or finished product.
There are various classifications of programming languages (PLs) throughout the ages but basically, they can only be classified into two:
Procedural Languages
Like its namesake, it is procedure-oriented, which means that the physical structure of the code itself greatly relies on instructions that are written line by line. If you are totally unfamiliar with programming, even a simple code that does nothing but add 2 numbers, could appear as a message from an alien race.
It is usually comprised of commands, equations and coordinates that are collectively called as “syntax.” - the rules of grammar in programming. This programming method was prominent during the advent of the personal computer's popularity during the 70's and 80's.
Because most programming environments at that time lack the auto-text and spell-checking capabilities that are featured in many PLs today, procedural programming is often dubbed as “the programming method of the elite.”
A procedural program sample written in C++
Programming then was only for those with the sharpest minds and the greatest of intellect. There were procedural PLs designed specifically for beginners and students like Pascal and BASIC. But still, it was difficult for people with average brain power to become a programmer.
Object-Oriented Languages
Decades later, when computers became more equipped in graphics processing, a new method of programming was introduced: Object-Oriented Programming (OOP). This scheme requires lesser coding since most of the program's output features, a.ka. the interface (menus, windows, icons), can already be drawn or dragged within a certain workspace which is just like making a collage or graphical document.
With tools and menus that are similar to those that can be found in photo-editing software, OOPLs are more focused on visual design rather than on programming itself.
This new method was said to have brought programming to the masses because it no longer represents the difficulties that procedural programming has been showing for the past generations. With the tools and features that are included in PLs today like Java Netbeans, Python, and Ruby, programming was never easier.
Although some programmers today still use procedural languages for some special-purpose computers, OOPL is now the best choice for most beginning programmers and hobbyists.
Usage and Applicability
If you dream of making programs for personal computers and mobile devices, you should learn OOP. Many experts claim that you can never be a good object-oriented programmer if you do not learn the procedural ways first.
But due to the breakthroughs in Graphical User Technology (GUI) today, this is no longer the case. You can create a decent program for Windows, Mac or Linux already in just a few crash courses because the tools and features are so easy to navigate that you can almost learn them without the aid of those intensive tutorials.
As a more difficult field of the programming realm, procedural programming is most applicable in computers that require a special set of hardware. Such machines include ATMs, digital cash registers, automated factories, and robots.
Today, with the advent of highly graphical applications, programming is now becoming more accessible to the masses. Even without in-depth knowledge about computer coding, almost anyone can become his or her own brand of programmer.
The best programming languages to learn today would be the following:
Javascript – Developed during the 90s, it is one of the best programming tools for building web pages and we-based applications. If you have the interest of putting some functionalities on websites that goes beyond the typical linking methods, this programming language is for you.
Python – Also designed for making web programming a whole lot easier, it is declared by many computer experts as one of the very best PLs in existence. With its most recent developments, Python is now also being utilized by many programmers for making mobile apps and computer games.
Swift – Built mainly for the purpose of crafting applications within the Apple platform, it is one of the most preferred coding tools by aspiring programmers today who aims to make a living out of programming smartphones and similar devices.
The very cool thing about this profession is that even though it requires a high-level of analysis so you can really be very good at it, the job requires no high-educational attainment. Many successful programmers are becoming very profitable with their jobs even without finishing college.
When you market your skills into the corporate world as a programmer, what your prospective companies will be looking at will not be your educational certifications or credentials, what they’ll be be checking out will be the programs you built, and the efficiency therein.
I hope this inspires you to have a paradigm shift in your career choices.