New programming languages worth learning

25 Billion events on more than 75 Million different repositories. The cool thing about this is that there are usernames associated with each of those events, which means new programming languages worth learning I can count how many different people are using each language. Since the data goes back 7 years, I can also plot how popular each programming language was over time which reveals some interesting patterns.

Looking at these trend lines, we can figure out which programming languages are worth learning, and which programming languages probably should be avoided. There are also detailed notes there on how I’m resolving which programming language each repository is written in, which turned out to be far and away the most difficult part of this entire project. While the overall rankings are pretty interesting, it’s worth taking a deeper look at how these languages have been performing over time. C have all been popular for more than the 7 years of data that we’re tracking here, and I don’t see that changing anytime soon.

Javascript continues to dominate the languages used here, which makes sense since it’s the one language that basically all programmers will need to use at some point. A lot of the Python growth seems to be coming from interest in Machine Learning. Based on this analysis, I’ve been learning Go and Typescript in the last couple of weeks. Kotlin seems to be mostly used for Android app development. You can almost see the slope change in the graph around when Google announced first class support for Kotlin on Android early in 2017. The language looks intriguing though, and I’m considering using it for the next project on the JVM I need to work on. While Rust is growing slower than the other languages here, there are many amazing projects being written in it.

Did not find what they wanted? Try here

In just the last couple of weeks, I’ve seen a new sampling profiler for Ruby and a new autodifferentiation framework both written in Rust – and Rust is being used by countless other interesting projects. Successfully launching a new programming language requires a fair bit of effort – it’s not enough to just develop an elegant language, you also have to grow the community and the ecosystem behind the language. Based on this I’d be somewhat hesitant to use any of them for a new project. 11th most popular today with 3. This means that even languages with a declining market share can still have a growing user base. Looking at it this way, Ruby has more than 3x the number of active users using the language than in 2011.

It just hasn’t grown nearly as fast as other languages, causing it to perform relatively worse on this analysis. There are also a couple of other factors at work here. This caused them to attract a large number of Ruby programmers in their early days causing Ruby to be overrepresented then. The second thing to note is that certain newer languages seem to be cannibalizing user share from older languages. For instance, the decline in Objective-C usage corresponds with the rise of Swift. While Objective-C is declining, it seems that overall iOS development is relatively stable. Juptyer Notebooks have seen significant and steady growth in the last couple of years.

However, this seems to be mostly because of the growth of Python for doing data science. While Jupyter supports many other languages than just Python, in every case I’ve looked at the Jupyter Notebook was written in Python. This means that the popularity of Python is potentially undercounted in this analysis. Since Jupyter Notebooks can include images and other non-code things in them, this means they are frequently the largest files by bytes even if not necessarily by line count. This has lead several Python repositories to be incorrectly labeled as being Juptyer Notebooks. In the future, I might merge Juptyer and Python together when running this analysis.

Given the relatively small numbers here, there is more noise in the rankings. Elixir seems to be worth keeping an eye on though, and only narrowly missed out on being in the top 25 languages. The TIOBE index ranks programming languages by the number of search engine results for the programming language name. However, it doesn’t show trends over time. Erik Bernhardsson ranked programming languages by calculating the eigen vector of blog posts talking about moving from one language to another.