# TIOBE index rank: #20 as of August 2023 (was #23 in Jan 2021)

**URL:** <https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730>\
**Category:** Community\
**Tags:** ranking\
**Created:** [July 8, 2020, 1:58pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730 "2020-07-08T13:58:40Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Post date:** [January 5, 2021, 6:19pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/21 "2021-01-05T18:19:51Z")

</div>

Ok, I made a log-log plot of the data (starting on January 1, 2018). As long as I didn’t goof anything up, I think it’s safe to say that the growth is not governed by a power law:

 ![discourse_log-log_plot](https://global.discourse-cdn.com/julialang/original/3X/e/0/e00d292412bda5c5698a62368a0cb74a8e992cc8.png)

EDIT:  
Maybe it’s not so clear cut. If you plot a power law with a _non-zero_ y-intercept, the curve looks somewhat similar to the curves above:

```julia
x = 1:100
y = @. 3x^2 + 300
plot(x, y; xscale=:log10, yscale=:log10, legend=false)

```

 ![discourse_log-log_plot_non-zero_intercept](https://global.discourse-cdn.com/julialang/original/3X/3/7/37b22d4e50387bcb0bd4c029d47e569b4a77efd3.png)

Although I would say the shape of the curves in the first plot seems a bit different from the shape of the curve in the second plot…

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [January 14, 2021, 4:46pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/22 "2021-01-14T16:46:46Z")

</div>

> **[Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?](https://www.hpcwire.com/2021/01/13/julia-update-adoption-keeps-climbing-is-it-a-python-challenger/)**
>
> The rapid adoption of Julia, the open source, high level programing language with roots at MIT, shows no sign of slowing according to data from Julialang.org. In 2020, the number \[…\]

---

<div class="post-metadata">

**Author:** ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)\
**Post date:** [January 14, 2021, 6:08pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/23 "2021-01-14T18:08:42Z")

</div>

I think it’s time for me to write up my Python vs. Julia thoughts collected over the past 4 years or so 😆

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [January 14, 2021, 6:24pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/24 "2021-01-14T18:24:18Z")

</div>

Anticipation 100

---

<div class="post-metadata">

**Author:** ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)\
**Post date:** [January 15, 2021, 12:28am UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/25 "2021-01-15T00:28:46Z")

</div>

> [@tamasgal](#):
>
> I think it’s time for me to write up my Python vs. Julia thoughts collected over the past 4 years or so

Yes, we could really use some more thoughtful writing on this. There’s a blog (don’t recall where, but Scandinavian, IIRC) that has several posts comparing Julia and Python on certain points, very much at the level of the languages, and very good. They’re not dime-a-dozen medium ML posts.  
I started writing something based on “Fluent Python”, which is a very good book. It’s also a good vehicle for showing how Julia is much better as measured by what’s important to the author. I didn’t go through all of it carefully; there may be a place where Python is better, but I didn’t find it.

---

<div class="post-metadata">

**Author:** ![rikh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rikh/32/204104_2.png) [@rikh](https://discourse.julialang.org/u/rikh)\
**Post date:** [January 15, 2021, 9:24am UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/26 "2021-01-15T09:24:41Z")

</div>

> [@jlapeyre](#):
>
> there may be a place where Python is better, but I didn’t find it.

Libraries, tooling, number of experienced developers, “[time to first plot](https://discourse.julialang.org/t/roadmap-for-a-faster-time-to-first-plot/22956)”, and number of available tutorials and answers. Even though the typical Python answer is less thoughtful because there are relatively more novice users in the community, as holds for most more popular languages ([Janis Lesinskis' Blog - The decline of the average level of experience in the software industry](https://www.lesinskis.com/decline-in-average-tech-experience.html)). Still, I’m confident that this will change and that Julia will one day be a better choice for most projects currently done in R and Python.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 15, 2021, 1:45pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/27 "2021-01-15T13:45:44Z")

</div>

> [@rikh](#):
>
> Even though the typical Python answer is less thoughtful because there are relatively more novice users in the community

Probably not here though. Ironically, it might be on the Julia Discourse where you have a better chance of finding a OSS dev with 10 years of Python experience (ready to rant about what they didn’t like). It’s one of the interesting side effects of having a community build almost entirely by expatriates of other OSS communities.

> [@rikh](#):
>
> Libraries, tooling, number of experienced developers

No, qualify the domain or show me proof that there are more devs working on block-banded matrix libraries in Python or SDE solvers, let alone experienced devs. The ship has long sailed to say that generically. You can say that for very specific parts, like ML, but as a blanket statement it is clearly not true.

---

<div class="post-metadata">

**Author:** ![rikh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rikh/32/204104_2.png) [@rikh](https://discourse.julialang.org/u/rikh)\
**Post date:** [January 15, 2021, 2:50pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/28 "2021-01-15T14:50:55Z")

</div>

> [@ChrisRackauckas](#):
>
> No, qualify the domain or show me proof that there are more devs working on block-banded matrix libraries in Python or SDE solvers, let alone experienced devs. The ship has long sailed to say that generically. You can say that for very specific parts, like ML, but as a blanket statement it is clearly not true.

Okay, you’re right on the libraries. Julia has many amazing libraries for specific domains.

I still think it holds for most tools, simply because Python is used by more users. For example, compare the 11.4k stars and 122 contributors for a [Python formatter](https://github.com/google/yapf) with 185 stars and 19 contributors for [JuliaFormatter.jl](https://github.com/domluna/JuliaFormatter.jl). I’m not saying that one of these formatters is better than the other, just that one is used by more people for a longer period of time. Also, Python has multiple solid linters, such as [pylint](https://github.com/PyCQA/pylint) (3.2k stars), where Julia currently has no linter that I’m aware of. I’m not saying that I need a linter right now in Julia. It makes complete sense that languages with more users have more tooling available.

> [@ChrisRackauckas](#):
>
> let alone experienced devs

This is a difficult one to discuss. I was thinking about when I would start a software company right now. I would have an easier time to get Python developers with experience than Julia developers with experience. That means that for many companies, Python is a safer/better choice. In other situations, you might be right that there are more experienced Julia developers.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 15, 2021, 2:54pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/29 "2021-01-15T14:54:53Z")

</div>

Agreed it might be “most”, but “most” still needs a qualification as “most” still depends on a given domain.

> [@rikh](#):
>
> This is a difficult one to discuss. I was thinking about when I would start a software company right now. I would have an easier time to get Python developers with experience than Julia developers with experience. That means that for many companies, Python is a safer/better choice. In other situations, you might be right that there are more experienced Julia developers.

That’s not what I was saying. I was saying you’ll have an easier time on this Discourse finding an experienced Python dev than on a random programming forum for Python programmers, just because this forum attracts those who are deep into open source dev and are typically the authors and maintainers of frameworks and libraries, where as indeed Janis Lesinskis’ Blog points out a very interesting effect that’s pretty clear at PyData and the like.

---

<div class="post-metadata">

**Author:** ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)\
**Post date:** [January 15, 2021, 3:23pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/30 "2021-01-15T15:23:29Z")

</div>

> [@rikh](#):
>
> Libraries, tooling, number of experienced developers

I’m really thinking of the language itself. Because that’s where there’s most ignorance. Everyone can see there are more experienced python users (vastly more python users overall). Almost any really good scientist/dev I can think of, if they don’t have significant experience with Julia, they don’t believe overall productivity could be _that_ different from Python.

And I’m not thinking about scripting applications, rather building medium to large scientific/technical libararies or systems.

Not thinking about existing application libraries either. That’s not about the language. Tooling and tooling libraries yes, I consider that part of the language.

I understand choosing Python for various reasons. But, in general there is very poor understanding of what you are giving up for making that choice.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 15, 2021, 3:24pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/31 "2021-01-15T15:24:15Z")

</div>

> [@rikh](#):
>
> I still think it holds for most tools, simply because Python is used by more users.

I don’t understand the reasoning here — more _users_ does not necessarily imply more _developers_ (= people who contribute to a package).

---

<div class="post-metadata">

**Author:** ![dmolina](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmolina/32/5246_2.png) [@dmolina](https://discourse.julialang.org/u/dmolina)\
**Post date:** [January 15, 2021, 3:58pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/32 "2021-01-15T15:58:29Z")

</div>

In my opinion, it is true that _more users_ does not implies _more developers_, but usually _more users_ could imply detect more errors, or suggestions (I know that it is the minority of users that do that, but it is a greater number than developers).

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 15, 2021, 4:10pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/33 "2021-01-15T16:10:32Z")

</div>

> [@dmolina](#):
>
> In my opinion, it is true that _more users_ does not implies _more developers_ , but usually _more users_ could imply detect more errors, or suggestions (I know that it is the minority of users that do that, but it is a greater number than developers).

I think most people here who work on OSS would think that isn’t necessarily helpful nor does it accelerate the project. The type of user doing this matters a ton. If it’s the wrong type of user, it slows down the project so much you have to ignore them or, what happens a lot, you get maintainers burning out and leaving.

---

<div class="post-metadata">

**Author:** ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Post date:** [January 15, 2021, 4:14pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/34 "2021-01-15T16:14:47Z")

</div>

A specific example I ran into recently about libraries : the best library in Python for HMM seem to be hmmlearn, which only supports Gaussian emission probabilities, while the Julia package (HMMBase.jl) supports arbitrary distributions. So you can use a mixture of 5 distributions if you like, or a custom one (just need to define `pdf` and `logpdf`).

HMM’s are hardly new technology, so I was quite surprised that Python doesn’t even have a good library for them. Maybe I’ve missed something, but I think it’s just a case where Julia type system and general performance allows for more generic solutions.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 15, 2021, 4:14pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/35 "2021-01-15T16:14:51Z")

</div>

> [@dmolina](#):
>
> _more users_ could imply detect more errors, or suggestions

The dearth of feature requests (“suggestions”) is rarely a bottleneck for FOSS projects 😉

---

<div class="post-metadata">

**Author:** ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Post date:** [January 15, 2021, 4:19pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/36 "2021-01-15T16:19:59Z")

</div>

> [@rikh](#):
>
> Python has multiple solid linters, such as [pylint](https://github.com/PyCQA/pylint) (3.2k stars), where Julia currently has no linter that I’m aware of.

@rikh There’s a linter built into the Julia VS Code Extension. Here’s the repo for that linter:

> **[GitHub - julia-vscode/StaticLint.jl: Static Code Analysis for Julia](https://github.com/julia-vscode/StaticLint.jl)**
>
> Static Code Analysis for Julia. Contribute to julia-vscode/StaticLint.jl development by creating an account on GitHub.

The linter is not perfect, but I still find it to be pretty helpful.

---

<div class="post-metadata">

**Author:** ![Ian\_Slagle](https://avatars.discourse-cdn.com/v4/letter/i/b5a626/32.png) [@Ian\_Slagle](https://discourse.julialang.org/u/Ian_Slagle)\
**Post date:** [January 15, 2021, 5:58pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/37 "2021-01-15T17:58:19Z")

</div>

> [@ChrisRackauckas](#):
>
> You can say that for very specific parts, like ML, but as a blanket statement it is clearly not true.

Calling C/C++/Python/R/Fortran/shell code within Julia is also arbitrarily easy (especially when compared to other languages). But I seem to be using this less and less as Julia packages become more numerous/developed.

---

<div class="post-metadata">

**Author:** ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)\
**Post date:** [January 16, 2021, 4:16pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/38 "2021-01-16T16:16:16Z")

</div>

> [@rikh](#):
>
> I still think it holds for most tools, simply because Python is used by more users. For example, compare the 11.4k stars and 122 contributors for a [Python formatter](https://github.com/google/yapf) with 185 stars and 19 contributors for [JuliaFormatter.jl](https://github.com/domluna/JuliaFormatter.jl).

Just a side-note: you have to keep in mind that Python users are religious about PEP 8 and formatting in general. We have made ceremonial transitions from autopep8 to yapf to black and whatnot over the past decade 😆 anyways, that’s not a good measure in my opinion, at least not when Python is involved 😉

Of course, Python has more users. But when it comes to scientific computing, I think you have extremely skilled people in the Julia community and I personally do not know any comparable discussion forum where I can interact with Python users who are skilled in so many different areas of CS/Maths/Physics.

I really have fun reading through discussions which start with “function f is a bit too slow” and end up with different papers, debates and suggestions on how to improve the overall approach to solve the problem also outside of the context of CS. I think this is quite unique and I am grateful that I can be part of it…

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [June 3, 2021, 12:41pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/39 "2021-06-03T12:41:45Z")

</div>

I checked TIOBE index as I tend to do [EDIT: June now out, Julia now 35th after Kotlin] and it’s not yet out for this month, so I checked others. Neither is RedMonk index (June 2020 wasn’t published until July 27, 2020).

For PYPL Julia is ranked 23rd (0.47%) worldwide, while intriguingly in France ranked 13th (1.49%), up 8 places (I think that’s what the arrows count from a year ago), with by far highest relative gain, ahead of VBA and Scala, following Rust, Matlab and Swift, while note all of these other languages are in decline there, in fact most are.

> **[PYPL PopularitY of Programming Language index](https://pypl.github.io/PYPL.html?country=FR)**
>
> PYPL popularity of programming language

I don’t know how reliable these stats are, and 24th in the US with score declining, while still Julia ahead of Visual Basic which at some point would have been considered good. Very likely the stats are fluctuating like for TIOBE.

Python (still 1st ranking there) is down worldwide -1.1% and by -2.7 % in the US. I think those “Trend” numbers are for one year (rather than on month). However: “Python grew the most in the last 5 years (17.3%) and Java lost the most (-7.1%)”.

At IEEE Julia is 19th for 2020 (and 12th is you restrict to “Enterprise” only): [The Top Programming Languages 2023 - IEEE Spectrum](https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2020) Note at while they do more: [https://spectrum.ieee.org/static/ieee-top-programming-languages-design-methods-and-data-sources-2020](https://spectrum.ieee.org/static/ieee-top-programming-languages-design-methods-and-data-sources-2020) partially:

> Our methodology here is similar to that of the Popularity of Programming Language [(PYPL) ranking](http://pypl.github.io/PYPL.html).

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [June 7, 2021, 10:27pm UTC](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730/40 "2021-06-07T22:27:57Z")

</div>

For what it’s worth, PYPL seems much more sane, reliable and steady as a ranking of programming languages.

[Previous page](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730.md?page=1)

[Next page](https://discourse.julialang.org/t/tiobe-index-rank-20-as-of-august-2023-was-23-in-jan-2021/42730.md?page=3)
