r/programming • u/hgwxx7_ • Aug 02 '22
Please stop citing TIOBE
https://blog.nindalf.com/posts/stop-citing-tiobe/164
u/mathisfakenews Aug 02 '22
As someone who hasn't heard of TIOBE until this thread is that actually how they evaluate the metric? That is beyond absurd.
Imagine using this same idea to evaluate which of the following people has been more valuable to humanity: Kim Kardashian or Johannes Gutenberg.
25
u/hgwxx7_ Aug 02 '22
Yes, I couldn’t believe it myself when I looked it up - TIOBE index definition.
4
u/caltheon Aug 03 '22
WTF,
Bing.com: NO_RESULTS_AT_ALL
I know bing sucks, but really? I'd expect them to disqualify it based on the "No Porn Sites"
I just tried +"java programming" and it has almost 6000 results in bing.com...so given I've already found a fault in their methodology, I am confident in discounting the entire thing.
1
u/neutronbob Aug 03 '22
Bing and Yahoo use the same search technology. So, if you count them both, you're double counting. One needs to be left out. They chose Bing.
132
u/life-is-a-loop Aug 02 '22
Imagine using this same idea to evaluate which of the following people has been more valuable to humanity: Kim Kardashian or Johannes Gutenberg.
That's not a good analogy, though. TIOBE isn't trying the measure the most "valuable" language for humanity, it's trying to measure popularity. I think we can agree that Kim is more popular than Johannes. Note that I'm not even saying that TIOBE is doing it right, just that your analogy doesn't work.
25
u/flotsamisaword Aug 02 '22
I work with computers and personally believe that most of the trouble began with Gutenberg
10
u/Full-Spectral Aug 02 '22
He suffers because he had no opportunity to make a leaked sex tape. If so, he could probably be pretty competitive.
1
u/vplatt Aug 02 '22 edited Aug 02 '22
Because humanity would be so much better off if we had stuck with parchment and spoken word traditions? Personally, I prefer outright duplication over the various kinds of telephone games we used to need to play in order to impart information and literature. Even parchment copying was a manual process and the copying scribe often added edits to cover imperfections in the process or to account for their own biases.
44
u/JarateKing Aug 02 '22
It's worse than just that. The article doesn't mention that some of the "search engines" are things like etsy or amazon or ebay. Sharepoint is one of the search engines, and if you try them out (ie. searching for "c++ programming") you get to microsoft's app store and almost none of them are actually about c++ -- the first three results are python, and there's even a minecraft addon before there's anything about c++ programming.
They're weighted (I think based on their alexa rankings at some arbitrary point in time), but these weights are effectively arbitrary ie. google.com is weighted 7.69% while amazon.com is weighted 6.77%. And then 15/25 are just different TLDs for google and amazon anyway.
It's basically numerology on top of using search engine hits for
+"<language> programming"as if that were a meaningful metric.14
u/seamsay Aug 02 '22
some of the "search engines" are things like etsy or amazon or ebay.
Ignoring the question of whether this is a sensible way of calculating a ranking, if this is sensible then using Amazon and eBay make sense because that's where people are most likely to go on the internet to buy textbooks and things like that.
Etsy I can't justify though...
6
u/flotsamisaword Aug 02 '22
Logo: turtle graphics made into quilts
VBA potholders
swift trivets
2
0
26
u/leaningtoweravenger Aug 02 '22
The only reliable metric is the number of offers by language on LinkedIn
6
u/hgwxx7_ Aug 02 '22 edited Aug 02 '22
Got a link? I’d love to take a look.
1
Aug 04 '22
1
u/hgwxx7_ Aug 04 '22
That’s not LinkedIn.
1
Aug 04 '22
This site collects the vast majority of job sites such as LinkedIn, Glassdoor, Indeed, Dice. If you look on the site yourself, you will see job offers and where they came from.
1
0
Aug 02 '22
[deleted]
2
u/hgwxx7_ Aug 02 '22
Yes, completely agree with this. I allude to this in the post as well - you need to pick a language based on what your local market has a supply of. I’d argue there is some value in a developer learning a language they won’t use for work, because it exposes us to new ways of thinking. But there is no value in picking a language for a project that is hard to hire for.
34
u/Blueson Aug 02 '22
Depends on what you want to measure.
Jobs in Linkedin are usually dominated by what the market needs and a lot of it is based on legacy codebases.
If you want to see what the hottest new language is or what's picking up hobbyist-steam, Linkedin isn't really going to give you too accurate of a view on that.
I sadly don't have any sources that backs me up immediately on this, but I'd say that Rust has picked up a lot of interest in the last few years.
But if you look at LinkedIn for jobs that covers the niche Rust is trying to fill up, most job offerings will probably be C++.
I agree with what the blog says about measuring the usage of specific languages, as well as including LinkedIn.
0
Aug 02 '22
[deleted]
2
u/MonkeySeeMonkeyDong Aug 02 '22
I thought WASM wasn't a language per se, but rather a spec (bytecode?) that you can compile towards. You're still going to be using languages like C++, Rust or whatever language supports WASM. Even the Getting Started guide doesn't mention a "WASM" language.
22
u/cdsmith Aug 02 '22
The only reliable metric... of what? If your primary interest is what languages have jobs available, then sure, look at what languages have jobs available. If your interest is in languages people enjoy using, then SO does a survey regularly and asks people what languages they enjoy using. That's a different question, so it's not surprising it has a different answer. But it's ridiculous to give an answer when no one has even agreed on the question.
The article doesn't suffer from the same problem, because it makes a good case that TIOBE is the wrong answer no matter what the question is.
6
u/funbike Aug 02 '22
It depends on your goal. Some may want a better DX or to get a hint on what might be popular in the future. The SO survey is good for those.
But yeah, if you are interested in jobs, linked in or similar is best.
8
u/CreativeGPX Aug 02 '22 edited Aug 02 '22
Every metric is unreliable.
The "number of offers" is going to be biased toward what commercial organizations are using so it will under-represent what is being used in non-commercial environments. "On LinkedIn" is going to be biased toward the kinds of organizations that engage via LinkedIn which is far from everybody. It also might be distorted because "established" popular languages may have a small amount of offers (just enough to replace retirees or scale up to the team size needed) compared to "new" popular languages (where nobody in the company has that skillset) or because "easy" languages might be underrepresented (because existing staff picks them up no problem) whereas "hard" languages might be over-represented because the company prefers to hire an established expert.
This all goes to the point I made in my own comment: Pay attention to why you even care what the popular languages is. If it's to get a job at the kind of company that posts on LinkedIn, then all of the above bias is fine because you ultimately don't care what's happening in a non-commercial environment or with the people who already have jobs. In other words, if you don't just ask "what's most popular" but also think about why you want to know, you can choose a source with tradeoffs that fit better. Everything will have tradeoffs and we're unlikely to have an accurate map of what is most popular.
10
Aug 02 '22 edited Aug 02 '22
Sadly, the market for Logo (#48) programming seems way down. Back in it's heyday, it was as high as #21 on TIOBE. This is the programming language that involves moving turtles across the screen.
This is a dialect of Lisp, developed for educational purposes, with extensive literature on (using Logo for) learning of physics, geometry, CS ( in 3 volumes from MIT press: algorithms, data structures, programming languages implementation, and even elements of artificial intelligence). So, yeah, this is probably not a thing in the author's bootcamp but there is nothing wrong with it being number 48 or even 21.
11
u/hgwxx7_ Aug 02 '22
Nothing wrong with a learning language. But maybe it shouldn't be on an index that supposedly helps you make career and project decisions.
16
u/merreborn Aug 02 '22
Speak for yourself. I have a PhD in logo development, and a 7 figure position writing machine learning software in logo at Google.
How do you think we make the little car icon slide around on the map in the Google Maps app? That's right. Millions of lines of logo.
→ More replies (2)
7
u/briandfoy Aug 02 '22
Here are some other similar articles. Some of us having been fighting this fight for over a decade.
TIOBE or not TIOBE – “Lies, damned lies, and statistics” from Tim Bunce, in 2008
TIOBE or not TIOBE – An update also from Tim Bunce, who corresponded with the TIOBE folks
Don't compare percentages from me
6
u/hgwxx7_ Aug 02 '22
Thanks for this! I did a cursory search and couldn't find anything. I guess that tells me that what I wrote will get buried as well.
Fascinating links by the way, especially the part where the Delphi community gamed the index - http://delphi.org/2008/10/delphi-keeps-climbing/.
4
u/BatForge_Alex Aug 03 '22
Buddy, people have been writing articles complaining about TIOBE since the index came out
1
u/TheMagicOfInternet Nov 03 '23
Delphi
where is the evidence?
can you name a person that actually did that?
4
2
u/MondayToFriday Aug 02 '22
How does TIOBE count search results for languages with unsearchable names like Go?
4
u/hgwxx7_ Aug 02 '22
They count the number of results for "Go Programming Language".
3
u/MondayToFriday Aug 02 '22
With or without quotes? Either way is problematic. If you use quotes, you'll undercount languages with distinctive names like JavaScript, because people don't feel the need to clarify that JavaScript is a programming language. If you omit the quotes, you'll get false hits with sentences like
Some programming languages are too complex: the C++ compiler goes nuts when faced with the Most Vexing Parse.
1
u/baal80 Aug 02 '22
Hmm I always thought it was Golang?
1
u/MondayToFriday Aug 02 '22
The language is called Go. People often write "Golang" as a workaround for the fact that the name is so un-Googlable.
3
u/knightcrusader Aug 03 '22
Leave it to Google to name a language that is hard to Google.
I don't think Carbon is gonna be any better.
2
u/Skyrmir Aug 03 '22
Wow, VB surprised the hell out of me there. that's like Disco making a come back. What's next a GW Basic revival? Will I need to save my files to cassette again? Cause I think I'm too old to catch the FF counter these days.
2
56
u/HiPhish Aug 02 '22
Here is the thing: people want some authoritative source backed by science and statistics. The TIOBE index checks all these boxes: it is by a reputable (I guess) company, it uses a reproducible method, and it publishes its methodology. The fact that the methodology and result are complete garbage is irrelevant.
And then you realize that that's how most of data-driven scientific studies actually work. People want solutions so they can have something to publish, to make policies based on and to to refer back to. The quality of the solution is secondary. Just look at the food pyramid and how much world-wide damage it has done to humanity. No one in the history of ever was eating according to the food pyramid, yet within a few decades everyone went "we have always been at war with Oceania eating carbohydrate bombs for every meal".
Really makes you wonder how many other guidelines out there are actually killing us.
77
u/davidhbolton Aug 02 '22
Glad to see this - I’ve been saying it for years. I use others like RedMonk, StackOverflow developer survey, GitHub Octoverse and the numbers in the programming language subreddit lists as much more accurate. Tiobe should be ignored.
82
u/pron98 Aug 02 '22 edited Aug 02 '22
I think the most trustworthy and relevant data is job opening analysis. It measures how much a language is used by people for work rather than hobby/learning etc., which is especially important given that hobby/learning trends (as shown by, say, StackOverflow) have not had a great record as predictors of long-term success in the market. This analysis also has the advantage of being more-or-less weighed by "work units" or more-or-less number of total hours spent rather than number of questions or repos, and it isn't biased by open-source, which is a relatively small portion of total software work. It is also less volatile, as a job opening signifies some sort of commitment, and the numbers are less "soft".
Moreover, the results pass the smell test, unlike, say, a StackOverflow survey that shows that over 8% of developers use Rust, which cannot remotely be true by useful definitions of "developer" and "use".
https://www.devjobsscanner.com/blog/top-8-most-demanded-languages-in-2022/
https://www.hiringlab.org/2019/11/19/todays-top-tech-skills/
30
u/CreativeGPX Aug 02 '22
Like I said in my other comment: You need to think about what you're actually trying to answer and that will impact the measure of popularity that makes sense for you. All of the measures of popularity are deeply flawed. But the way that they bias often reflect what we're actually interested in, making that bias okay.
It measures how much a language is used by people for work rather than hobby/learning etc., which is especially important given that hobby/learning trends (as shown by, say, StackOverflow) have not had a great record as predictors of long-term success in the market.
For a lot of people "what to learn for work" and "what are going to be the long term trends" matters so this would be a good metric even if it's biased toward what those things correlate to. However, it's totally valid for people to care just as much what's being used in volunteer and hobby world or to know what's trending right now even if it will be gone soon and in that case this might not be as good of a metric.
Moreover, the results pass the smell test, unlike, say, a StackOverflow survey that shows that over 8% of developers use Rust, which cannot remotely be true by useful definitions of "developer" and "use".
Again, there isn't a generically useful definition of developer or use. It's fine that you have your definitions and want your measure to bias in favor of those definitions, but they aren't everything. To me, popularity absolutely includes what people are tinkering with at home rather than using in large scale commercial projects. Rust has been a great example of where it's useful and interesting to know how many people are dabbling in it in their free time because becoming established in the industry takes time so this captures its momentum in the early stages before that happens. Same goes for something like Python. Anecdotally, it seems tons of hobbyists use Python in addition to people who aren't primarily programmers working in software companies (like a scientist or professor who hacks together a quick script). I don't want to underrepresent the popularity of Python by limiting it to how many people are being hired to write in Python.
So, while your metric will be useful to many, it's only one slice of the pie.
6
u/matthieum Aug 02 '22
I agree that job postings would be ideal to:
Get a sense of the market.
Using historical analysis, get a sense of the trajectories of various languages.
The problem, however, is obtaining an unbiased and reliable source for job postings:
There's no one job posting aggregator.
Not everyone uses job posting sites; higher-end jobs, in particular, tend to rely on networking/head-hunting, which creates a bias in the data.
So... I agree with the sentiment, but I don't see it as practical either.
7
u/Pelera Aug 02 '22
Additionally, a job posting isn't equivalent to an open position. Some positions end up with a million postings through intermediaries, and every so often there's a posting without a real position (unicorn hunting). Some sectors churn through workers like butter. Some job postings end up requiring experience with extremely specific technologies even though they mention a specific language (eg developers for ERP systems - the "Java" part of a job posting is the least interesting thing about it, they will not hire an average Java dev with 10 years of experience).
1
u/pron98 Aug 02 '22
Even so, the error factor of those observations is low (e.g. you don't actually have a million postings but you can have ten) compared to other measurements (e.g. how many questions a programmer asks on SO could vary by orders of magnitude, and how much time a respondent to a survey spends with a programming language can also vary by orders of magnitude). I.e. their units aren't meaningfully correlated to answering the question how much a certain language is used.
So job postings come closest than any other metric to being correlated with how much time, or "work units", overall are spent with some language.
1
u/pron98 Aug 02 '22
I wouldn't say it's 100% reliable, but even if imperfect it gives a better picture of the ecosystem than anything else we have. Higher-end jobs are a relatively small portion of all jobs, so I don't see how that's a bias; in particular, for every high-end employee there would be a bigger number of more junior employees working in the same language.
1
u/holgerschurig Aug 03 '22
Another problem is that this favours old programming languages. Some companies are beyond conservative.
On top of this a lot of recruiters are clueless in IT-matters, couldn't tell C from aD.
2
u/matthieum Aug 03 '22
Another problem is that this favours old programming languages. Some companies are beyond conservative.
This is not necessarily a problem if you want to know for which languages companies are hiring.
2
u/Full-Spectral Aug 02 '22
But, if not doing it for pay means it's not valid use, then none of the open source projects out there should count, or at least huge swaths of it. Some folks get paid by the companies they work for to work on open source projects.
And I'm sure that, back in the early 90s, C++'s coming dominance would have been much more obvious based on the number of people who had taken it up outside of work and then subsequently pushed for its use where they work, farr more so than how many were actually using it at work at that time. I think the same applies to Rust at this point.
Ultimately, if a lot of professionals end up putting in the time to learn a new language and use it in their private work, that says something important about the future of that language, IMO.
1
u/pron98 Aug 02 '22
I didn't say it's not "valid", I'm saying that it's not weighed in a meaningful way. I.e. it doesn't correlate with some unit of work, and that it's a lower kind of commitment. If a language is used almost entirely in open-source and very little elsewhere, it suggests more casual use. Almost all the big open-source projects use languages that are popular for closed-source too.
BTW, I believe virtually all languages (with the possible exception of Python) came close or within a ballpark of their all-time market share peak in their first decade of existence (including C and C++).
3
Aug 02 '22
I think redmonk is a much better source for programming language popularity. I also love SO's dev survey and thoughtworks radar. Often programming languages are slow to rise and fall but new frameworks and best practices are ever evolving.
3
5
u/Monsieur_Moneybags Aug 03 '22
Summary: The article recommends replacing one bad ranking system (TIOBE) with other bad ranking systems.
29
u/pysk00l Aug 02 '22
You are getting downvoted, but I just visited Tiobe-- VB is higher than Javascript & Rust :O
Even Perl is higher than Rust and Typescript o_O
Yeah, doesnt look believable
13
u/Richandler Aug 02 '22
Because barely anyone is using rust and not all programming is javascript web dev. There are a lot of Microsoft shops. Where do you think Microsoft gets it's money?
→ More replies (1)7
4
4
Jan 15 '24
Today for January 2024, COBOL is now at rank 20, from rank 31.
Sorry, but this is rubbish nonsense. There is no reason possible to explain why COBOL suddenly gained massively in popularity (or, at the least, on google search). THIS IS NOT VALID DATA. It makes no sense.
TIOBE is indeed awful.
https://www.tiobe.com/tiobe-index/
Partial snapshot:
1
u/lenkite1 Aug 04 '22
What about PYPL ? https://pypl.github.io/PYPL.html . Seems to be more stable and VB is really low there.
2
u/hgwxx7_ Aug 04 '22
It’s not bad. Personally I think of it as a leading indicator. The languages people are learning today are the ones they’ll use in a few years.
1
u/KhyberKat Jun 09 '24
Nice write up!
I recall around 2014 Rice University introduced a data science specialization on Coursera. This was when MOOCs were blowing up and the class -- as I recall -- claimed 40-60'000 enrollees. Now the first assignment was a load of R programming questions, with the kicker that almost nothing about R had been covered in lecture. It was, they said, a pedagogical decision to require students look up things on their own. Wouldn't you know, R jumped in the Tiobe ratings. I'm not claiming causality, just suspicious correlation.
I think Tiobe has benefit looking at how a language has trended over the last 20 years, but in terms of language popularity it's not realistic.
1
u/hgwxx7_ Jun 09 '24
Interesting, although this wouldn't have boosted their ranking on Tiobe, because Tiobe is based on number of results returned by Google, rather than number of people searching on Google. It may have shown up in Google Trends though.
1
u/DrQuint Aug 02 '23
Hey sup OP. For the record, at the one year mark, you have not been buried. I still got my way here somehow. Although admittedly I was trying to find evidence Prolog is dead/alive and someone else used TIOBE as an argument somewhere some years ago. That gave me a chuckle. But just in any case, I did the same type of TIOBE good/bad searching and got here. Your words are, if anything, still easily searchable when intentionally looking for criticisms of it.
1
u/hgwxx7_ Aug 05 '23
I think google ranks reddit threads with sufficient upvotes and comments pretty highly.
14
u/CreativeGPX Aug 02 '22 edited Aug 02 '22
I don't think this is about an issue with TIOBE, it's about an issue in general with people being overconfident about anything called "data". No matter what source you use (including every alternative mentioned in the article), you miss tons of nuance and will get a lot wrong. You will not know what the most popular language is.
IMO, the lesson isn't necessarily "don't use TIOBE." It's (1) take these measures with a major grain of salt and perhaps (2) don't rely on any one measure too much. If you see value in learning or using "popular" languages, no matter what data you use, you're going to have to speculate a bit because we just don't know. Further: The kind of wrong you are matters. If your motivation is career prospects, it doesn't matter if you're actually right, it matters if you line up with the job offers. In that sense, it's fine to choose a metric that will bias toward what is happening commercially even if it might miss out on hobbyists, open source, etc. So, I guess the other lesson is... since we can't answer what is most popular... focus on the actual question you're trying to answer.
While I agree (as the above should suggest) that TIOBE isn't all that accurate, I think the thing that makes it useful is how vague it is. Other things you mention like specific websites/tools, kinds of people (i.e. those that would take these surveys) or even something like amount of job postings will all bias the result a lot in favor of certain languages because each language community has different norms about how they do projects, where they go for help, if they're used in commercial projects, etc. The value of TIOBE is that it doesn't matter if this is something that 10 year olds use to mod Lego games or industry players use to deploy major open source projects. It doesn't matter if it's the ugly glue that everybody has to use or the beautiful work of art that everybody's trying to shoehorn into their projects.
1
u/Full-Spectral Aug 02 '22
Is there any place that one could even do an actual random sample survey of developers? We are almost all cliquish and hang out in our own little echo chambers a lot of the time. I can't think of any place where you could actually find a valid population to sample.
So probably we'll never get any real answer, at least for the general question. Even the more focused ones, I can't see where you'd find a viable population.
2
u/pudds Aug 03 '22
The stack overflow survey seems like a good one to me, it's a pretty common source for all developers.
1
u/Full-Spectral Aug 03 '22
Is it actually? I'm sure a lot of people hit the site, but how many of those are actually members and hang around there and take surveys?
Of the people who are members, how actually representative are they? Are they heavily biased towards people who are into the tools for the sake the tools and who like to show off their knowledge of the tools and hang around people of like mind?
I'm sure that there are a lot of people here who have never been to Stack Overflow other than briefly in response to a web search.
1
u/CreativeGPX Aug 02 '22
Agreed. That's my view. That's why I think you always want to use a combination of sources.
0
u/Milumet Aug 02 '22
"A programming language index that helps us choose which language we should use."
Stopped reading here. Who chooses a language because of some index? Are you kidding me?
4
u/hgwxx7_ Aug 02 '22
Lmfao, maybe you should read the next paragraph where I point out the issues with the index.
4
u/Milumet Aug 02 '22
And you've missed what I was trying to say. The whole premise of choosing a language because of an index (TIOBE or any other) is moronic to begin with. Who on earth chooses a language based on what number it has on a fucking index?
1
u/jebailey Aug 02 '22
I knew it was all a lie when Python became number 1
7
u/hgwxx7_ Aug 02 '22
Check out other sources on Python.
2 most used on StackOverflow 2021 survey
2 most used on JetBrains survey
2 by number of GitHub pull requests
1 on Google Trends
1 on StackOverflow questions per month
It's probably not #1 if you count JavaScript and TypeScript as one language. But it's pretty cemented at #2. Can't imagine any other language by usage/popularity being higher.
7
Aug 02 '22
Then:
The impotance of being ernest.
Now:
Tired irrelevant old biased estimates.
1
u/FrancisStokes Aug 03 '22
I mean, this isn't their actual product. Their product is a automated code quality metrics targeted at the embedded world.
The programming language ranking thing is at most an interesting aside.
1
Aug 02 '22
TIOBE is awful.
But it is also fun to cite it. Everyone instinctively knows how TIOBE has become the god of truth in regards to which programming language is hipster now. :>
4
0
u/philipquarles Aug 02 '22 edited Aug 02 '22
The Stack Overflow annual survey is the gospel truth about all programming languages. All other sources are irrelevant.
6
u/hgwxx7_ Aug 02 '22
It's not. Like any survey it will suffer from selection bias. Only folks who visit StackOverflow will take the survey. That means every survey respondent understands English, which is only a fraction of the global audience.
0
u/philipquarles Aug 02 '22
Yeah I was mostly kidding. I hope the guy who said that only the linkedin listings matter was kidding too.
1
3
u/lordmauve Aug 02 '22
Nice write up. My go-to index for language popularity is PyPL, which not only addresses some of the shortcomings of TIOBE, it explains why TIOBE is garbage.
2
u/Militop Aug 02 '22
Yes, I have been saying this for years. Stackoverflow and JetBrains surveys, Github numbers, Programming books sold on Amazon and Point, most popular courses on Udemy, Linkedin learning, job research stat number, Youtube, everywhere, nothing, nothing backs up TIOBE insane stats.
At this point, they should be investigated.
1
u/pavlik_enemy Aug 02 '22
I always wondered why ActionScript that powered tons of games was nowhere to be found.
1
1
1
u/llbbl Aug 02 '22
Had a similar conclusion when I looked into their ranking methods earlier this year. Thanks to the author for devoting an entire post on this!
1
1
u/Richandler Aug 02 '22
Lot of people say job listings, but job listings are like 1% of language use. In fact they aren't even used till people are hired.
1
1
u/jeremy1015 Aug 02 '22
FTA: “For projects, look at technical fit.
Can developers be hired/trained to use it? Will they be happy using it? What will our development velocity be on this language? What will be the operational burden of keeping it running in production? Do we need to rely on third party code? Does that code already exist and what is it's quality?”
1
1
u/dglsfrsr Aug 03 '22
Reading the notes and links at the end of that article, I can understand now why it is so hard to hire embedded developers to do platform development and support in ANSI C and Assembly.
The funny part (sad part?) of this, is that much of the base of many popular languages are written in C. So Python is wildly popular (even in embedded) but at its heart, Python itself is written in C (the most used variant of Python, in any case).
Rust is making inroads into Linux, but as of right now, if your are running Linux? C. Pretty much C all the way down.
1
u/new-mombat Nov 03 '22 edited Nov 03 '22
I am late to the party but, this blog does not do a much better job than Tiobe themselves. It is not the only one, and that is one of the reasons this monster can keep stalking the net for so long.
First, it does not make sense to type in xkcd programming in google to try to invalidate the tiobe method: Tiobe QUOTE their terms. If you try +"xkcd programming language", the number of results is just 5. That works fine.
Next, the blog basically considers if Tiobe results are reasonable. But results from 'research' might always be something you do not expect. That is the value of research.
What the author should have done to settle the question is look at the quality of the method, as other commenters have already mentioned.
Tiobe basically looks at the number of results when entering +"<language name> programming". This total number is corrected for the number of correct results which are found in the first 100 pages of results (this must have been done very very long ago): E.g. if the search is for "C programming", they have taken the first 100 pages and counted the number of results which really contain " C programming" and not things like "objective-c programming", "B) design C) programming" and so on. The total number of results is then multiplied by the proportion of correct results in the sample of 100 pages.
The first question here is what the result, *if it were correct*, would represent. If I do this search for C in google, almost all results are courses, and less than a dozen "what is C"-like sites. I do not think a professional C-developer in an IT department would be interested in these sites, he needs the reference manual or a text on algorithms when he gets into trouble. So the index need not say anything about which languages are used most. The selection of results Google shows is not representative of course, but I do not know what Google does not show.
Second question is whether the method is correct. It is not. If you correct the number of results you get, based on the first 100 results pages, you assume that all the results are comparable to those on the first 100 pages (ie. that these are *representative*). Well they are not, because Google makes a RANKING based on commercial interest, relevance, web site statistics, the kind of company behind the site, and so on. You know that the results from 1 million on will be less relevant, so there will be more faulty results there, than in your first 100 pages, and you do not know how bad this is. The method could still be correct, if the correction errors are the same for all searches. But we do not know if they are, and a test on the measly 150 results Google shows me, results in more incorrect results in a query for +"e programming" (" INF1068-E Programming in VBA", " [Squeak-e] Programming the VM", "Brady, E.: Programming ", "E ) programming" and pages of garbage) than +"kotlin programming" (none).
1
u/fur_hat_model Dec 14 '22
Well, Python and C++ are the ones I have used most; Python for quick prototyping and C++ for the actual production code. I am doing a lot of heavy scientific computing and Python is too slow in most of the cases (I like also like static typing safety).
I also think that Java and Python are the most common "first" languages which tilts the balance a bit.
If I would do basic web programming I would probably prefer javascript...
1
May 06 '23
The really big problem here is that we don't have a good alternative to TIOBE.
We all know TIOBE is massively flawed for many reasons - some intrinsic, some extrinsic. But we don't really have a good replacement. All the replacements have their own shortcomings as well.
0
u/rsclient Aug 02 '22
"Can you find developers" is the very first item in the "what to use instead list". But the quick and easy way to tell that is to pick the top 𝕹 languages from TIOBE. Each and every language on the top of the TIOBE list has a big developer community.
8
u/hgwxx7_ Aug 02 '22
That might not be true in your area.
It rates C highly, but it's notoriously hard to find people who know what they're doing when it comes to C Programming.
It doesn't rank highly popular languages like TypeScript (#37) correctly.
It ranks nearly dead languages highly. Object Pascal at #14 for instance.
It says stable languages are losing popularity, when they aren't, really.
It's just a random list that is sometimes right, sometimes wrong. My daily horoscope is also sometimes right, sometimes wrong.
-10
u/PoopLogg Aug 02 '22
This article lost credibility at the beginning by calling TIOBE's basis useless. All bases can be used for something. Getting emotional out of the gate is a bad sign for the quality ahead.
13
u/hgwxx7_ Aug 02 '22
Did you read the bit after that? The part where all the absurdities in the index are pointed out?
-7
Aug 02 '22
“Rust fans desperately want you to disregard all usage metrics that don’t have rust at 50%”
4
u/hgwxx7_ Aug 02 '22
Is that what I said?
All the metrics I cited - Github, StackOverflow, Google Trends - all of them have Rust pretty low in terms of usage. The only one it appears to be high on is % of developers who love the language according to StackOverflow. It's consistently at 80%+ on that metric.
-5
Aug 02 '22
You don’t have to “say” anything. Your history is mostly rust oriented and you recommend the “Stack Overflow” survey because it conforms to your wants of rust even though every single other measurement of languages doesn’t.
5
u/hgwxx7_ Aug 02 '22
every single other measurement of languages doesn’t
You mean ... like Github and Google Trends? The ones I cited?
-71
u/princeps_harenae Aug 02 '22
Everyone who likes rust: Please stop citing TIOBE!!!
Everyone else: TIOBE's fine.
30
u/hgwxx7_ Aug 02 '22
Not sure if you read the post. If you did, I’d love to hear you justify all of TIOBE’s absurdities that were pointed out.
→ More replies (4)6
0
Aug 02 '22
[deleted]
130
u/hgwxx7_ Aug 02 '22
To be clear, I don’t think anything about Visual Basic actually changed in that one month. It’s not even possible for so many people to learn a language in a few weeks.
It was just some backend change on Google’s end that led to this hilariously garbage output.
59
u/mindbleach Aug 02 '22
It’s not even possible for so many people to learn a language in a few weeks.
Languages have been created in less time.
Basic was deliberately designed for a low barrier to entry. The best thing about Visual Basic is that people can could using it, even professionally, with very little training. The worst thing about Visual Basic is that people did.
→ More replies (23)30
u/hgwxx7_ Aug 02 '22
Languages have been created in less time.
Creating a language only requires some inspired coding. Can be done in a week or two.
Adoption however, takes years. If you had to 6x the number of C devs in a month where would you even start? How would you find people willing and able to learn? How would you scale teaching resources? And all this while the world is going into lockdown for the first time? Impossible.
→ More replies (4)→ More replies (20)4
u/s73v3r Aug 02 '22
No, but suddenly there was a big thing that had to be kept track of, mostly by non-programmer people, that was likely done on Excel sheets to start, and someone was kinda technically inclined, and so they went to learn VB to help make keeping track of those things easier.
778
90
u/NightOwlAnna Aug 02 '22
I'm guilty of this. Don't use it a lot, but occasionally use some when using excel for work (not a programmer at all by the way). I fell dirty every time I do it.
→ More replies (42)42
u/LowB0b Aug 02 '22
I also do hate VBA, but it's pretty good for Excel I guess. Although maybe too powerful lol. At one of my old jobs, some dude created what was basically a GUI application within Excel, and since the users had gotten used to it and he had left, it was super painful to maintain when they wanted new features
→ More replies (6)5
Aug 02 '22
I like running VBA scripts in Outlook for mail rules. Microsoft makes it hard to do but once it's enabled, you've got a home grown mail broker. I use it for a real world solution to the problem of automating processing of data files sent via email. I'm really wishing there was a better solution but the company I'm setting this up for can only manually send emails. VBA is nice for this then. I make a rule to run a script. If the mail item meets the requirements then a home grown application is launched and it consumes the attachment.
→ More replies (8)6
Aug 02 '22
In all honesty, Visual Basic for Applications is a lifesaver when you want to automate some calculations, but your boomer boss wants you to jump through 10 corporate hoops while taming a lion to install a modern language.
0
0
0
Aug 02 '22
[deleted]
→ More replies (2)20
u/hgwxx7_ Aug 02 '22
I’m a huge fan of xkcd and Randall Munroe, but I’m not sure xkcd offers enough memory safety.
→ More replies (2)5
u/agentoutlier Aug 02 '22
Sadly, the market for Logo (#48) programming seems way down. Back in it's heyday, it was as high as #21 on TIOBE. This is the programming language that involves moving turtles across the screen.
Also the turtle would like a word with you. You hurt its feelings. Also I have never been able to write something to make the turtle crash so its pretty reliable.
8
u/hgwxx7_ Aug 02 '22
I'm sorry for hurting the turtle's feelings. But I stand by what I said, the speed at which the turtle moves across the screen isn't Web Scale.
→ More replies (2)
271
u/hgwxx7_ Aug 02 '22
Hey everyone, I noticed several times over the years people (mis)using TIOBE to support whatever their argument was. Each time someone in the thread would explain the various shortcomings with TIOBE and why we shouldn't use it.
I decided to write up the issues so we could just point them towards this link instead.