|Is Your Language Doomed?|
|Written by Mike James|
|Wednesday, 07 August 2019|
Employment company Dice has been trying to be helpful. It has made a list of five languages that it predicts are headed for extinction.
Not that any language ever really goes "extinct" - we are still writing Cobol and Fortran, after all! Even so, we are all aware that there are "hot" languages and ever so slightly cool languages. Of course, if it is your language we are talking about it never cools off. Try to keep confirmation bias in mind when reading the rest of this.
Before you read on, see if you can pick five languages that you would place on the endangered list.
Dice attempted to be a little more objective and looked at the TIOBE index, Redmonk's index and its own job statistics - even so you can argue against the conclusions. What I will say is that I found the five that Dice single out very reasonable choices, with some slight concern about one of them.
More cartoon fun at xkcd a webcomic of romance,sarcasm, math, and language
The second is Haskell. Now this one really shocked me. I don't write Haskell, but I know enough about it to realize that it is an interesting language. It is a very "pure" functional language that academics and showoffs love to praise or criticize - whichever works to put them above the herd. I know that some argue that Haskell is a toy language that isn't ready for the real world but then again some projects have made serious use of it in mission critical roles, or so I am led to believe. So is Haskell dying? Probably not even though, as Dice points out, is is flat-lining on RedMonk's measure. Haskell is probably never going to be a big name in the language world. and this isn't the reason people learn it. It will probably grumble on, with a big revision in 2020, to the end of time. It occupies a perennial niche.
At number 3, unsurprisingly, we have Objective-C. This is the "other", object-oriented, C and while it has some very nice features and can probably claim to be more object-oriented than C++, it is long winded. If you try to do anything much you quickly realize that you are typing a lot of boilerplate code. However, this isn't the reason it is on the watch list. The simple reason is that Apple was its number one patron and the company has moved on to Swift, which is a much better language. So Objective-C will die as Apple programmers move to Swift and as the need to deal with existing Objective-C code lessens. In fact I'm surprised that it still rates as high as it does in Redmonk and TIOBE.
Number 4, R, is designed to put the cat among the pigeons. Data science is big and R is the natural language for data science. It isn't a general-purpose language, although it can do most things. It is Dice's opinion that it is being swallowed by Python. Why learn R when Python does it all and is the superstar language of the moment? This is true, but the overhead of learning Python just to do data science is quite large. Python isn't naturally a data language - you have to learn it and then pick a module to get the work done. R is a dedicated data language and comes packed with most things you need to do basic data processing. Yes, you have to use some packages to get things done, but in the main these are easy to find out about and use. So if you are a wannabe programmer doing some data science then pick Python. If you are a wannabe data scientist then use R instead. It's another niche language and I don't think R is going anywhere soon.
The final language of our five is probably predictable - Perl. This was the big scripting language of a few years ago. If you have encountered it you will know that it is powerful and mystifying in equal proportions. Write a one-line script in "good" Perl style and it will do the work of hundreds of lines of Bash, or whatever, but take your mind of it for five seconds and you won't understand it when you look back. Perl is wonderful for enthusiasts, but the split into the all new Perl 6 and alternatives for many of the tasks that Perl was a natural have taken a toll. Many think that Perl 5 is a dead end and Perl 6 isn't going to take off and replace it. Both are active languages but would you advise a beginner to learn either Perl? Yes, I think Perl is on its way to being a curiosity - much the same as the way old programmers gather in bars to talk of the days when APL had its own keyboard.
So I've rejected two Dices recommendations for soon-to-be-dead languages - the least I can do is offer replacements. One short term - VB.NET, and one longer term - Go.
Just code smells...
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 07 August 2019 )|