When you first learn to program life is relatively simple. If you sit down to write a program, you are going to use the language that you know. This is okay for a while but then something happens. Maybe you take a class and they are using a different programming language than the one you already know. Or you are asked to write a program at work and they want you to use the same language everyone else on the project does.
So, you buy a book, or maybe you find a tutorial on the web, or you watch videos on You Tube that teach how to program in the new language. You install the language on your computer and you enter the first example program and compile and run it. It prints “Hello, world!” On your screen and you sit back pleased with yourself. You are now officially multi-lingual.
After a while you have gotten the hang of the new language. You have compared the new language with the old. You have found that they both have their strengths and weaknesses. It starts becoming second nature deciding which one to use when you start a new project.
Then one day you have this great idea for a program. It requires you to access data on a web site using http. You Google it and discover there is a great library for creating http requests. It is written in this other language that you don’t know. So you sit down and learn it. Now you are hooked. You discover that there are actually thousands of computer languages, all with their own claim to fame.
You start reading articles on the web with titles like “The Five Languages to Learn to Get a High Paying Job”. At this point you know all thyourose languages but you don’t have a high paying job. What is wrong? What are you missing?
It’s no use knowing computer languages if you don’t actually use them to write programs. Just like it’s no good to know English, or any other spoken language if you don’t intend to use it to communicate with people.
So, point taken. You sit down to write your masterpiece program. What language should you use? First you should ask some other questions. Whom are you expecting to use the program? Are they paying you to write it? Are you going to have to maintain it? Is anyone else going to have to maintain it? What kind of functionality will the program provide?
The key fact to remember about programming languages is that although you want them to execute properly on a computer in order to provide the intended functionality, you are primarily writing the program in a higher level language so that you are some other programmer can read and understand it later. You want to pick a language that provides features that allow you to clearly specify exactly what your program does both to the machine (the compiler will enforce that), and to another programmer. Keep that in mind when you choose names for functions and variables and when you decide whether or not to include a comment to explain that difficult piece of coding that you had to do to get the program to work the way you wanted it to.
And also, try to follow the conventions and standards established by the community that uses which ever language you decide to use. It may not change the way the program works but it will help make your code easier to understand when someone else in the community wants to fix or extend it.
Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.