What language should I choose?
If you have little programming experience and are undecided which is the
“better” language for you, here are some points to consider:
- For this tutorial, the choice is mainly one of personal preference.
Consider yourself lucky.
Usually, working as part of a team, you will need to program in whatever
language the project you are working in has adopted.
If you have no idea what the two languages are like, try doing tutorial T1
in both languages (ask your fellow students questions during the tutorial,
and look at the sample code we post after the tutorial), and then choose
the one that feels more natural to you.
Learning the first language is always the hardest.
Once you have understood the basic concepts of programming in one language,
learning a second one will be much easier.
- Will my career suffer if I choose the “wrong” language?
No.
(Also, there is no “right” or “wrong” choice to be made here.)
Unless you stay in research or engineering, it is very likely that
a future employer will require you to program in a completely different
language anyway:
currently popular languages in the business world are Java, Python, PHP,
and Javascript.
If you want to become a successful programmer, try to obtain working knowledge
of a few radically different programming languages – this will give
you some perspective on how problems are solved in different languages, and
may give you a competitive advantage if you can use this to devise better
solution strategies to a given problem.
- If you expect that you will be asking your friends for help
with programming problems, ask them with which language they will be able
to help better (or, better yet, ask if they’re willing to learn a new
language together with you).
If you don’t have friends, choose Fortran – it is simpler,
easier to learn, specifically designed with numerical calculations in mind,
and programming in Fortran is more fun.
- Stack exchange actually has some
well-balanced comments
on the subject.
See if any of the arguments given there appeals to you.
- Keep in mind that for good performance, the choice of algorithm
usually has a much greater impact than the choice of language
(as long as you stay within the compiled languages).
(For example, for a rather amusing comparison of the performance of different
sorting algorithms,
watch this video.)