I want to learn some new programming languages but I want to avoid learning something that will be obsolete by the time I have a solid background in it. Which lanuages should I avoid because very few people will be using them in 5 years?
views:
388answers:
8Which programming lanuages should I avoid learning because nobody will be using them in 5 years?
French
and either Hebrew or Arabic - I'm not sure which one will disappear, but they seem mutually exclusive
Learning an unusual or obscure programming language isn't necessarily a waste of time. Learning a functional language, for example, can expose you to new techniques which might be useful when you are writing in a more mainstream language, for example.
You might want to avoid proprietary languages tied to a particular vendor. The skills you learn there are less likely to apply in the future. If the vendor goes under or decides to drop support, the remaining jobs for that application are likely to become scarce. Even worse, from your point of view, are languages used only internally by a single employer.
You're obviously looking for a mainstream language, because there's no language that will not be used in the next 5 years.
Go for Java, it's pretty mainstream these days. Or if you want something more unmanaged, C++.
I understand the question but disagree with the notion that one should study the popular languages.
Just because there's fewer FORTRAN jobs today doesn't mean you can't find them, and odds are the FORTRAN community - by dint of its diminished stature - is tighter, creating better chances for spotting opportunities by networking. And when the FORTRAN programmer then does find something, it's also more likely to pay better; supply, demand.
So you're placing yourself firmly in the "we're legion, but we're not the most expensive either" camp without really considering that there is an alternative. Probably several, I'm just not smart enough at this point to think of more.
Why don't you just pick what you like? That baloney about doing what you really like doing? It isn't baloney.
You're asking the wrong question. Learning a new language might give you a different perspective on programming. You'll see the same underlying ideas as in other programming languages implemented in different way, or learn a completely new programming paradigm.
When deciding what to learn, you should let yourself be guided by the availability of good resources (online, or books), where your questions can be answered.
Apart from that, we all know that you should learn Perl 6. This way, the first time you can actually apply that knowledge is 5 years from now;)
I think you're looking at this the wrong way. There are a multitude of programming languages that aren't used terribly often anymore, but we're used extensively in their heyday - Cobol, Fortran, and Ada come to mind. There are places that still use those languages, as they still have some benefits in certain applications over other more "popular" languages (or the companies using them don't want to migrate!)
Other languages, such as Prolog or Lisp, are not used terribly often in business but contain key concepts that all programmers should learn, and are valuable in their own right.
As others have already pointed out, learning new languages almost always contains a benefit, regardless of its applicability in a few years. Besides, attempting to predict technology trends often backfires - you will always be better off learning programming concepts and a few good key languages (ones that others have already mentioned here) then worrying about learning a language that loses popular favor.