5 Programming Languages That Are Probably Doomed

Not all programming languages endure forever. In fact, even the most popular ones inevitably crumble away, as new generations of developers embrace other languages and frameworks they find easier to work with.

In order to determine which programming languages are likely doomed in the medium- to long-term, we looked at the popularity rankings by TIOBE and RedMonk, as well as Dice’s own database of job postings. If your career is based on any of the following languages, we suggest diversifying your skill-set at some point. 

Ruby

Once upon a time, Ruby enjoyed a fair bit of popularity. It was a top-ten language on TIOBE’s monthly list, and developers praised how easy it was to learn. But over the past 18 months, it has dipped in TIOBE’s rankings, from ninth to 12th place (after falling at one point to 16th). 

Even more disturbing: An analysis of Dice job-posting data over the past year shows a startling dip in the number of companies looking for technology professionals who are skilled in Ruby. In 2018, the number of Ruby jobs declined 56 percent. That’s a huge warning sign that companies are turning away from Ruby—and if that’s the case, the language’s user-base could rapidly erode to almost nothing.     

(That being said, it’s taking awhile for Ruby to finally give up the ghost; we’ve been monitoring its descent for quite some time, even as coding bootcamps and developers have given it up.)

Haskell

Supposedly, Haskell is headed for a major standard update in 2020 (check out GHC, as well as GitHub’s Haskell-related repos). A number of prominent firms and projects (Facebook, GitHub, etc.) have all used Haskell to implement vital programs at one point or another. However, Haskell continues to flatline on RedMonk’s long-term language rankings, suggesting that there’s virtually no developer buzz around it. Dying, or totally dead?

Objective-C

Apple’s Objective-C is 35 years old, and it’s clear that the company wants it dead. Five years ago, Apple executives took to the stage to unveil Swift, its new-and-improved programming language for its software ecosystem. No doubt they expected developers to quickly embrace Swift at Objective-C’s expense.

And to be fair, more developers have begun using Swift (especially as it’s become more feature-rich), but Objective-C hasn’t crashed as much in the popular-language rankings as some folks might have expected. Blame that on 35 years of legacy code, and many developers simply preferring to work with a language they’ve always used.

At some point, though, Objective-C will likely fade away entirely. Apple’s too keen on its eventual demise, and Swift is becoming an incredibly effective language for building iOS, macOS, and, soon, cross-platform apps.    

R

Back in the day, R was an increasingly popular language for data analytics. However, it seems that Python is rapidly swallowing up R’s market-share. Although R is still used by academics and data scientists, companies interested in data analytics are turning to Python for its scalability and ease of use. As a result, R has dipped on TIOBE’s index of programming language popularity, and other studieshave shown a slow decline in R usage in favor of Python. 

If R is going to survive in any form, it’s because data analysts might end up using it in conjunction with Python. “Combining R and Python is both reasonable and feasible,” Enriko Aryanto, the CTO and a co-founder of the Redwood City, Calif.-based QuanticMind, a data platform for intelligent marketing, told Dice earlier this year. “We run them both in our data science platform internally. But if I were starting my career all over again today, I might consider focusing on Python rather than R. It’s a more-general language with broader applications.”

But even that scenario might end with R used by a handful of academics and nobody else. That’s not viable. 

Perl

Even if RedMonk has Perl’s popularity declining, it’s still going to take a long time for the language to flatten out completely, given the sheer number of legacy websites that still feature its code. Nonetheless, widespread developer embrace of other languages for things like building websites, means that Perl is going to just fall into increasing disuse.

Meanwhile, if you ever wondered about which languages are (probably) slated for continuing uptake and possible greatness, we have a list for that, too.

(Note: In an earlier version of this article, we said that Perl had little to no active development. As some helpful commenters pointed out, that’s actually not the case: it’s updated annually. However, given its decline on RedMonk and TIOBE, we still argue that this is a declining language.)

99 Responses to “5 Programming Languages That Are Probably Doomed”

      • Dave Rensberger

        I doubt that plain old C is going away any time soon, but this article didn’t say that it was. It said Objective-C was. Objective-C is only important because Apple/NeXT used it. Now that Apple has decided that it is going away, it will.

        • Gregory Casamento

          Also, it’s important to remember that the underlying frameworks have 35 years of stability built into them they have been vetted completely and they work very very well. They are highly stable. Apple’s point with swift was to introduce a language which would be easier for people to grasp. There are far too many frameworks both in and outside of Apple which are built using ObjC for it to simply fade away. Maybe in 10 years, maybe in 15, but certainly not in the short term. Also, Swift is not a systems level language (C, ObjC, Assembly, etc) no matter how you slice it.

    • Unlike the other commenters, I believe I understand your comment… and yes, most languages / interpreters / compilers are written in C. There are exceptions, but for the most part, you are right, C is typically used for languages created after it.

  1. Python is trying to be the end-all-be-all of programming languages but, while it’s good for many things, R has — in addition to being a fast number cruncher — the advantage of having excellent graphical capabilities built-in.

  2. Gary Davis

    We need to do more with object-oriented classes. Programming needs to become simpler – not harder. It needs to make objects do the nitty-gritty work. It needs to de-geek itself and become user-friendly in the extreme. It needs to do away with the acronyms. It should be more like BASIC, with objects that extend its usefulness to the max. Saving, opening, reading and resaving any file should be built in. Access to changing pixels and saving them in any lossless format (and every format should be lossless) should be easy. Pixel colors should be assigned numbers with a base of 256 in which to both read them and write them with. Going to a specific address, to use the data there, should instead take the form of nesting data in arrays. We need IDEs a 10-year-old could easily learn. We need to do away with the run line. Everything needs to be simplified. That is the idea of using higher level languages in the first place. The fact is, we need more programmers and we’re not getting enough of them. There is also another thing. Programming apps should come only on disk, and be delivered by snail-mail to the user. These disks should be coded, by law, with dedicated computers that are isolated from any outside tampering. Programmers should also work on such computers. The data in their apps should only be copyed to beta-test internet apps. These computers should be for programming only and, aside from accessing files on their own hard drives, they should be hard-wired to be read-only. The programmers need to become responsible for their own apps. They should be accountable for bugs. It should not be a question of the trillion or so things that can make an app malfunction due to the computer software that it runs on and with it. A user should be able to reformat his or her computer, reinsert the disk and, barring any hardware problems, the re-installed app should either work correctly or it shouldn’t. It’s way too easy, these days, to blame a bug in an app on something that does not involve the integrity of the people behind its creation.

    • Ron Phillips

      Translation: I want objects that do everything for me so I don’t have to do any work.

      Hate to tell you, but being a programmer means you build those objects. If your code isn’t pretty much a whole lot of classes interacting with each other, you’re doing it wrong.

      • Bruce Salem

        Amen to that retort. I have been around for years listening to managers who haven’t written a line of code in their lives, touting the virtues of X and insisting that you use X. X=java in my experience.

        OOD is over-hyped, even in python. The biggest challenge for a python novice is to find which modules to use and to understand the interface to its objects enough to make good use of them. Hiding the complexities behind an object doesn’t make programming easier; one still has to spend considerable time understanding the interface.

      • dirtybirdy

        Indeed. I wonder if this is a troll, in which case: nice troll dude.

        Or, this is a person who has overgeneralized their experience in some set of programming problems to “programming in general”, which happens to a lot of otherwise good programmers during a certain middle phase of their career. “all formats should be lossless” by itself demonstrates fairly profound ignorance of related subject matter. “everything should be easy enough for a 10 year old” also reflects a pretty shallow understanding of cognition, developmental biology, and the intrinsic difficulty of many important programming problems. Not every job is a 3-tier SOX compliance web application to torture d-list consultants.

        Or, “Gary Davis” is actually Gene Ray, finally on antipsychotics and doing much better. Keep it up Gene!

    • Tomvader

      I literally LOLed. I can’t tell if this is a serious comment from a clueless person, or the most sarcastic comment on the internet. Either way, it’s too damn funny.

    • Jennifer Usher

      Object oriented programming makes sense in some situations, like designing a graphics program, but in other areas it is just added complexity that offers no real benefit. It is more religion than science, and it gets really strange when the Ayn Rand types get involved.

    • Cameron

      Object Oriented Programming as a do-everything model is a scam perpetuated by academics and authors. It has its place don’t get me wrong but smacking every project with OOP is horribly inefficient. Most programmers hammer OOP into projects that are procedural or functional. The reason Python is “winning” is because it isn’t OOP centric.

      • John Ingato

        well one is a programming language and one is a scripting language. They are very different things. You aren’t going to see ANY professional large scale applications that don’t use OOP. That’s just insane. The only thing you are going to see that isn’t OOP are small scripts, drivers, shaders, embedded applications.

  3. C Walker

    We’ve been hearing the same old story for the past 5 years about Python edging out R, but most data science job posting still seem to ask for “Python and/or R” programming skills. For serious statistical work ( at a higher level than an e-commerce recommender system ) I don’t see R going anywhere soon. I and most people I know in the analysis game choose R over Python whenever we are doing any serious complex modeling. And I work in the private sector not academia, so the snark at the end about only a few professors using R in the near future is absurd.

  4. Dave Rensberger

    I’d add C++ and Java to this list. They’re both very entrenched, so they aren’t going away any time soon, but I don’t see them being chosen for very many new projects. Languages like Go are better in most ways for most of the things that a person might have used ether of these bloated dinosaurs for. For the minority of situations where you really need C++ for it’s “high-level assembly language” like nature, plain old C fits purpose better in most cases (and C can be linked with Go).

    • AZ Kev

      You’re on the mark with your observations. I did some contract work with a Big Three bank a few years ago around a telephony suite that expanded into InfoSec and server adminstration (recommending and then leadng migration to Puppet.

      Their offshore teams were staffed 5:1 over the American team and got less than 25% of the work done. They had ZERO clue about Linux which 100% of the bank’s customer facing business ran on. I wrote a specialized specialized “Linux for Dummies” that left out the “why” and stuck with only what they needed to know.

      I spoke with one who didn’t desire to move to the USA and he told me that everyone he knew viewed knowing Windows as a ticket to the USA. I laughed and asked him if he knew that pretty much even admin assistants knew Windows. He agreed with me and laughed too.

      Sadly those system administrators don’t have a clue how anything works, they just follow scripted button pushing.

    • Dude, C++ is essential for any performance critical applications, like games. It isn’t going anywhere. You can’t get the same performance from anything else besides C and making a game in C ( or any large application for that matter ) would be a nightmare

  5. Nathan Waddell

    Please perform more research before writing an article like this. Perl is most certainly in active development. It is currently at version 5.30. This can easily be checked by looking at perl.org. Perl has seen a renaissance and it is fully modern with web frameworks like Mojolicious offering powerful new paradigms.

    Perl is used by most major Linux distributions for their configuration and installation scripts as well as by companies like Booking.com and Amazon on extremely large, modern, object-oriented projects. Perl is one of the few languages that support all 4 of the most-established programming paradigms: procedural, object-oriented, functional, and declarative programming. You can even mix styles within the same application, of course you would need to have a good reason for this and know what you are doing, but some problems are far more easily solved by using a certain paradigm.

    Perl is also present on all UNIX/Linux systems (and many others) by default. Few other languages can claim this. This ubiquity makes it very easy to write applications that perform work across networked systems, making it ideal for writing applications to perform maintenance tasks across an enterprise.

    It is fashionable today to bash Perl, mostly because of its UNIX roots. Many bash commands, for example, can be used with the identical syntax that would be used in a bash shell. Thus makes it easy to turn bash scipts into Perl scripts for adding more power and flexibility.

    Sadly, with the loss of so many system administration jobs in the US over the last 15 years, and the fact that almost no colleges teach programming majors how to use UNIX/Linux (even though 90% of the applications they write will be deployed on Linux) there are more and more developers that are completely unfamiliar with UNIX/Linux tools and methodologies.

    So Perl’s UNIX roots are strange to these programmers, and they tend to blame Perl for their own ignorance. In the enterprise workplace back in the 80s and 90s you would be expected to know awk or sed and be adept at vi or emacs. I like to ask potential recruits whom I interview if they can tell me what these tools are and if they know how to use them. I ask them common gotchas on UNIX/Linux use. If they can’t show basic competency then they aren’t a good candidate and they get the thumbs down from me. I can’t conscience hiring a developer to write code for deployment on a platform they don’t understand.

    Please do more research and hold yourself to a higher standard of journalism. There are so many other languages that should have been on this list. Perl is alive and well.

    • Bruce B Salem

      >In the enterprise workplace back in the 80s and 90s >you would be expected to know awk or sed and be >adept at vi or emacs. I like to ask potential recruits >whom I interview if they can tell me what these tools >are and if they know how to use them. I ask them >common gotchas on UNIX/Linux use. If they can’t >show basic competency then they aren’t a good >candidate and they get the thumbs down from me. I >can’t conscience hiring a developer to write code for >deployment on a platform they don’t understand.

      I did development and system admin back in the 80’s and 90’s. I got those positions because I knew *NIX tools and shells, still do, running my own linux systems. I agree with you about knowing your tools. I hadn’t used perl for a couple of years it has been available on my systems throughout the past 20 years, so when I needed to match a RE, I could dust off my rusty knowledge of it and solve a problem, and use that to prototype a python solution.

      • Why would you prototype in Perl but then reimplement in Python?
        That’s just stupid to suggest wasting human effort doing that; particularly if you acknowledge Perl is generally available on the system, and you’re talking about something involving regexes. For performance? Good luck with that.
        Python is for children. It’s the new Pascal.

    • Randal L. Schwartz

      There’s more work being done in Perl today than during the dot-com boom where it reigned as king.

      The trouble is that it’s a much smaller portion of a much bigger pie, so people keep calling it declining.

  6. Joseph S Stevens

    Those are some serious straw man arguments. Not everything requires an update every five minutes to be good. Npm does nothing but release breaking updates. And I would certainly argue it isn’t a good thing.

    Sure, Ruby is being replaced by Elixir, that’s common knowledge.

    And Perl has been dieing for decades. But Haskell is an absurd additional to the list.

    Seriously man, if your going to post trash on the internet. At least do some research first.

    • Elixir isn’t replacing Ruby; though I do know plenty of people who use and enjoy using both. If I were to guess any, Id say python (a lot of bootcamps are using Python as their intro language) or JS (same reason) – Ruby/Rails used to be a common bootcamps ang.

      I remain skeptical whenever people write media about how a language is in trouble, and it seems like most of the metrics they use are the opinions of other people that write media. Also unclear on what the point is aside from being Clickbait — learn languages you like; use languages that are good fits for the problem set. This often requires knowing multiple languages. You shouldn’t not learn a language if it satisfied either of those needs, just because some dude on the internet said it was “in trouble”.

  7. Perl has a development release *every* *single* *month* and a full stable *every*(!) *single*(!) *year*(!)

    The ridiculous ease of making statements such as “no active development” is appalling, with numerous companies using it for their bread-and-butter and a continuous, committed monthly and yearly release cycles.

    Did you do *ANY* research before writing this? 🙁

  8. I am an old B language developer. Anyone has need for me?
    (Also grew up on Simula67, grandfather of C++)… I know what C++ and other object orientated should have been ….

  9. Ruby is dying? Tell that to all of the Ops/DevOps folks that are using Chef to manage their infrastructures. Nothing like taking random metrics and declaring that correlation is causation.

    Try again, please.

  10. russian troll

    Good riddance Objective-C. That was one weird language.

    Haskell was alive?

    And which perl? perl 5 or perl 6? Or both? Was perl 6 ever alive either?

    Ruby found a niche in vagrant and chef. they’re welcome to it.

  11. I see that the Perl is referenced only in terms if web pages, which I find remarkably odd. Perl is an extraordinary language for many things but it is, and always has been, a poor choice for web sites. It is also probably least used in that context and will eventually die out there. It’s real power and most common usage is in other areas. Many other areas. Has the same ridiculous and narrow minded thinking been used when assessing the other languages?

  12. Ralph Ziggy

    Dice can no longer be used to ascertain the relevance of anything, people learned it just opens oneself to 3rd party headhunters from overseas, they’ll list jobs they’ve found elsewhere hoping to be middleman and so the place is echo chamber for job postings and spam invite for seekers.

    Mentioning TIOBE is even more laughable, determining viability and amount of use of a language by search engine query counts? A hint, people and companies using a language don’t do a google search on it every time they write some code or hire someone to write code. They’ll have needed bookmarks on tap, search engine not involved.

    R is huge and growing with analytics. That’s is just incredibly ignorant to say future looks in any way bleak.

    Mentioning websites as the purpose of Perl use shows ignorance, that is not its primary application in the enterprise.

  13. Nicholas LeCompte

    Haskell is not “doomed” – it has always been a niche language oriented towards computer scientists rather than software developers. The fact that it hasn’t grown much in popularity means very little – maybe worrying for us who advocate for statically typed functional programming, but basically the status quo. I would add that Facebook and Target making investments in Haskell is something I would not have predicted 10 years ago.

    I think there’s a more interesting story in Haskell / Scala – are developers abandoning Haskell for Scala? This does not seem to be the case for me – the use case is JVM developers who want a better type system, not Haskell developers who want the JVM. Still there could be an interesting story here. But “Haskell hasn’t grown more popular, is it doomed?” is a very strange thing to say.

    • Régis GUYOMARCH

      I’ve started learning Haskell : The smart contract language of one of the most promising blockchain platform is based on Haskell ( Plutus ). The blockchain itself is built with Haskell ( Cardano )

  14. Abeltensor

    Yet another pretty misguided article. I don’t particularly advocate for any of these languages but none of them aside from perhaps Perl are going anywhere anytime soon. The main reason is due to legacy code bases. Many companies used Ruby and rails and there are still plenty of rails shops who refuse to move over to something like elixir or more. Even the ones that have moved to a different tech stack still have large parts of their architecture built with Ruby. Haskell has never been a big business language and frankly I doubt it ever will be. It is a language specifically created and used in achedimia. Just because Facebook isn’t using it anymore doesn’t mean it’s going by the wayside. Objective c is a language that should have died when c++ gain popularity but apple adopted it and saved it. Now they might be moving away from it but it will take years to transition completely out of the language. R is a language that’s still seeing heavy use; there is no disputing that. Until Julia takes off, I don’t see it going anywhere since it’s the go-to for machine learning and big data that it’s preformant and not c++ based.

    • Cameron

      COBOL is still around and in development. The point isn’t that people are going to stop using a specific language it is that new programmers are not going to invest time into them outside of a specific job requirement. Over time this means that these languages become legacy languages used only on projects too cumbersome and expensive to rewrite.

    • The article is a childish wishfull thinking. Anyway: Fortran is live, Cobol is still in use, C hold near top on Tiobe. Btw, Tiobe is about popularity at the junior level.

  15. Henry Lowengard

    Actually, all are going away. There’s no reason an AI couldn’t map business logic, in a formalized but pretty sloppy natural language, directly into, say, llvm internal representation code. It will develop its own IR language eventually too, something that works more like biochemistry: massively parallel, redundant, evolutionary.

  16. What I usually say about Perl is that validly formed Perl is indistinguishable from line noise! Every variable being a string always seemed strange to me, but for quick-and-dirty web page generation it’s ok.

    • Obviously not a Perl user. Perl would actually be an extremely poor choice for “quick and dirty web page generation”. It’s real power lies in text processing and as virtually everything related to automation is, at some level, merely text processing, I’ll let you figure out where it’s predominantly used. As an example, I’m currently using a 5 line Perl script to parse a few GB of mail server logs to look for a specific abnormality and it’s perfectly readable by anyone who knows how to program.

  17. Per Szwecji

    I apologize in advance, but this is all hysterical and quite laughable.
    People stated in earlier articles (like 10 years ago)
    – Assembly / MASM would be dead… not in the security, gotta love truly PWN the box
    – Perl — queue up for every Linux admin right here. I belive a few have already spouted already

    – As for the Python / R debate debacle… chill. Both will be around for quite some time. Python for more reasons that I wish to list. R for the data scientists… read between the lines people: the financial industry loves R for market timing and trend analysis. Why do you think so make mathematicians end up as Wall Street ‘analysts’. You won’t see them on CNBC, but you will see their results in algo (algorithmic trading). (Watch the movie ‘Margin Call’ and ‘The Big Short’, both deal with this how mathematicians are used on Wall Street)

  18. sigrlami

    I would argue with your statement about Haskell “However, Haskell continues to flatline..”. The rating include only part of software development community. I’m trying to maintain list of companies using Haskell commercially https://haskellcosm.com/ and there are at least 200 companies using Haskell in production. My estimation that about 1000-1500 professional developers involved on a different levels as language users and unknown amount of people in academy.

  19. Richard Kenneth Eng

    Languages that decline in “popularity” are not “doomed.” What does “doomed” even mean???

    Does it mean nobody uses the language? Then none of these languages are doomed; they will always have users.

    Does it mean they aren’t Top 10 or Top 20 at TIOBE, PYPL, and RedMonk? Who the hell cares?! Programming is not a popularity contest. You choose the right tool for the job.

    Does it mean you can’t find employment using these languages? Only if employment and making money is your only concern. Lots of people use programming languages for personal projects, or for specialized projects where employment is not an issue.

  20. Derek Eder

    R was first created (from Bell lab’s S) by academics and has grown as an open environment due to the extensive contributions of academics. The highly specialized statistical libraries serves the needs of academics. I don’t imagine it was ever envisioned as a general purpose programming languag see like its original stable-mate C.

  21. Derek Eder

    I am surprised that the author neglected the first object oriented language, the first high level compiled language, and from the late 1940’s to boot! L. Ron Hubbard’s Scientology.

    • Doc TrinsOGrace

      I’ve been programming for about 50 years now. I recently encountered Kotlin. I’ve not been excited about a language for a long, long time… maybe not since Icon.

      I like the comment about the definition of “doomed.” In a way, all computer languages are doomed, if you think about it.

      I was also happy to see comments from people about choosing the right language for the problem set. I was afraid that all those kind of folks were retired or pushing up daisies.

  22. John S Sincak

    Seriously, how can you *not* have Kotlin on there? A language whose very existence is necessitated by lawyers at Google. AND owned by the Russians!!!

  23. Manohar

    Still.all product based companies like intel , Synopsys and micron.. using perl .. pls dont spread wrong news….perl is in active ..will be active forever .

  24. RedMonk and Tiobe are measurements of how much spin and hype a language is getting — not accurate measurements of their popularity. People put way too much stock in them without actually stopping to understand exactly what the data means.

  25. David Peters

    You cannot determine anything by looking at if you can make money with the programming language. The chances that you are good enough to make money programming is very low, with every language.

  26. Nick I would appreciate if you dont spread such nonsense around the internet. Such posts just give a very wrong message to budding analysts and developers. I am particularly referring to you quoting R as a language which will remain with a handful of academics. This is just not true. Banking, universities, biomedical research, consulting firms do actively use R a lot. Also Kaggle is a team conducting machine learning competitions which offers the R platform for submission alongside Python. With R you can build webpages, do very complex visualizations, machine learning, c++ integrations, build presentations directly from code and with data, build documentation from code and display reactive data, oh and also do statistics. This is all built into its ecosystem maintained by the Rstudio team. Python just does not have this ecosystem built into its IDE’s. I agree with the fact that R and python are not in the same league generally but in the field of data analysis and research R is still strong and will still be strong for the foreseeable future. Business intelligence platforms like Power BI and Tableau, Azure also incorporate it as part of the modelling framework.

    • Also using R a lot and can state that R is popular and will be even more popular when data analysis is considered – simply the best language for data analysis. Academics actually use R less than statistical offices, analytics companies etc. Python is two verbose for data analysis.