When a person decides to learn a programming language, the questions that usually arise are,
“Which is the best programming language?” or “Which language should I learn?” Some people suggest
.NET, Java, or PHP and most tend to learn these languages ignoring the fundamentals. Essentially, one must
understand the working of a computer system, the flow of instructions that go into execution of a specific
task, etc. This way one can develop the ability to think rationally. Only then can one develop professional
products that meet international standards. Furthermore, to become an excellent programmer, one must take
absolute care with coding standards, daily technology updates, etc.
If advice on selection of a programming language is required, I can attempt to furnish an answer
based on my knowledge and experience: “You may learn C/C++ because most of the high level languages
today are based on the C/C++ syntax. It will help you learn the syntax, semantics, compilation, and
execution techniques. C is a language which will assist you in understanding the programming flow and
C++ will help you in applying Object Oriented Programming (OOP) concepts practically.”
In my point of view, a person who has mastered one language takes only a few hours to start coding
with a new language. As a fresh brain, you can select any one language to start off with. The doors are wide
open as far as the choice of language is concerned. If you are an amateur, you can seek the assistance of
experienced people to help you understand the merits and demerits of different languages.
Once you start learning a language and you get a firm grip on it, then you must try to compare it with
other languages – what the former has and the latter don’t. In most cases one ends up with the conclusion
that the basics of each are almost the same unless it is a machine or task-specific language. For instance, all
the languages use IF, WHILE, and FOR keywords for the same purpose.
The next daunting query is about the choice of domain. The simplest answer lies in another question
“which field do you like more?” It depends a lot on one’s aptitude and skills. For example, if a person is an
electronics freak, then embedded technology may be their right domain. If you like computer games and
drawing, graphics domain such as DirectX, OpenGL, etc., are amenable fields.
The vital aspect as far as good programming is concerned is practice. There are many important
aspects one should look up on, right from the fundamentals to highly advanced and complex tasks. As the
saying goes “Faster, Higher, Stronger”, one should approach programming with an open mind to gather as
much knowledge as possible in a short time frame. Knowledge without proper foundation is dangerous. In
programming, one must ensure that good coding practices, coding styles, etc., are mastered and
implemented. Experience is the best teacher as far as mastering new techniques is concerned and is
impossible to gain through short-cuts.
To conclude, a language that is currently popular doesn’t mean it is the best or the right one for you.
Don’t run after a language that is currently hot and promises fat paychecks rather than builds your basics
first. Just pick a language that fits your philosophy and try to become the best at it.