How to select your first programming language

From ArticleWorld

Choosing a first programming language, while traditionally limited to Pascal, BASIC or C, is growing more important today than it ever was. Most programming languages have been expanded way past beyond their initial standards and possibilities, mostly in order to make them more capable of answering the programmers' needs. This means that, once a user learns a programming language, he can do quite impressive work using it, work that, in the innitial standards, was not supposed to be done. For example, BASIC, renowned for its limitations, has some dialects, like BlitzBasic or VisualBasic which are used to create some pretty impressive works.

Choosing a programming language is therefore very important. And, if you are not quite able to decide, see if the following steps help.

Questions to ask

1. Do you have any previous programming, or programming-like experience? If so, in what domain?

You may not have noticed that you have actually done some programming, due to the whole noise made in the industry. BASIC programming on old computers when you were child, or quick functions added to a pocket programmable calculator count. A background in mathematics is also a good prerequisite: while not teaching you too much about the languages themselves, you probably already know some basic principles of computer science, like algorithms, matrix-related algorithms, graphs, recursivity, combinatorics and so on. If you had a programming class while you were a student, why not go with that language? You would at least remember something.

2. What do you want to do with your programs?

Some languages are more suited for a task than the others. Some, like C, Pascal or, why not, Python, are so-called "general-purpose languages". These can be used to write just about any kind of program. However, if you plan to use some heavy artillery for a niche field (like number crunching with high precision) you will need some extra effort, because these languages were not made especially for these. Other languages, like Fortran or Matlab's own language, are created with heavy numeric operations in mind, mostly for engineering purposes. However, expect these not to have the same capabilities when trying to write an e-mail client or a game, for example. Other languages, like AppleScript or shell scripting languages (bash or sh for example) are intended to automate some system tasks. They are used to record "macros" (launching an application, using its output with another application and so on). These are good if you want to instruct your computer to do some operations you would do manually, but some consider them not to be "full-blown" languages.

3. Would it be useful for you to learn programming?

Or, rather, is it worth it? Learning programming is not exactly the easiest thing on Earth. If you want to learn for the sake of learning, or because you need it for your job, it is surely worth it. Evaluate your alternatives. Some languages are easier to learn than others, and may be fine for a quick incursion. You can be productive with languages like AppleScript in a matter of days, while competently learning an assembly language can take weeks.


These questions are not to ask just yourself. If you are stuck with anything, ask friends or post questions on programmers communities' forums (like Programmers' Heaven). But if someone recommends you something, ask for reasons. Do not take things for granted, and ignore posts like "C totally rules" or "don't go for anything but Lua".