On 15th Anniversary, Go Programming Languages Rises in Popularity (go.dev) 23
The Tiobe index tries to track the popularity of programming languages by counting the number of search results for the language's name followed by the word "programming" (on 25 different search engines). And this month there were some surprises...
By TIOBE's reckoning, compared to a year ago PHP has now fallen from #7 to #12, while Delphi/Object Pascal shot up five spots from #16 to #11. In that same year, Fortran jumped from #12 to #8 — while both Visual Basic and SQL dropped down a single rank. Toward the top of the list, C actually fell from the #2 spot over the last 12 months to the #4 spot.
And Go just reached the #7 rank on the TIOBE's ranking of programming language popularity — "an all time high for Go," according to TIOBE CEO Paul Jansen. In this month's note, he explains what he thinks is unusual about this — starting by saying that Go programs are both fast, and easy in many ways — easy to deploy, easy to learn, and easy to understand. Python for instance is easy to learn but not fast, and deployment for larger Python programs is fragile due to dependencies on all kind of versioned libraries in the environment.
If compared to Rust for instance (another contender for a top position), Go is a tiny bit slower, but the Go programs are much easier to understand. The next hurdle for Go in the TIOBE index is JavaScript at position #6. That will be a tough one to pass. JavaScript is ubiquitous in software development, although for larger JavaScript systems we see a shift to TypeScript nowadays.
"If annual trends continue this way, Go will bypass JavaScript within 3 years," TIOBE's CEO predicts. (Adding "Let's see what the future has in store for Go...") Although the Go team actually has specific plans for the future, according to a blog post this week celebrating Go's 15th anniversary: We're working on making Go better for AI — and AI better for Go — by enhancing Go's capabilities in AI infrastructure, applications, and developer assistance. Go is a great language for building production systems, and we want it to be a great language for building production AI systems, too... For AI applications, we will continue building out first-class support for Go in popular AI SDKs, including LangChainGo and Genkit. And from its very beginning, Go aimed to improve the end-to-end software engineering process, so naturally we're looking at bringing the latest tools and techniques from AI to bear on reducing developer toil, leaving more time for the fun stuff — like actually programming!
TIOBE's top 10 programming language rankings for the month of November:
By TIOBE's reckoning, compared to a year ago PHP has now fallen from #7 to #12, while Delphi/Object Pascal shot up five spots from #16 to #11. In that same year, Fortran jumped from #12 to #8 — while both Visual Basic and SQL dropped down a single rank. Toward the top of the list, C actually fell from the #2 spot over the last 12 months to the #4 spot.
And Go just reached the #7 rank on the TIOBE's ranking of programming language popularity — "an all time high for Go," according to TIOBE CEO Paul Jansen. In this month's note, he explains what he thinks is unusual about this — starting by saying that Go programs are both fast, and easy in many ways — easy to deploy, easy to learn, and easy to understand. Python for instance is easy to learn but not fast, and deployment for larger Python programs is fragile due to dependencies on all kind of versioned libraries in the environment.
If compared to Rust for instance (another contender for a top position), Go is a tiny bit slower, but the Go programs are much easier to understand. The next hurdle for Go in the TIOBE index is JavaScript at position #6. That will be a tough one to pass. JavaScript is ubiquitous in software development, although for larger JavaScript systems we see a shift to TypeScript nowadays.
"If annual trends continue this way, Go will bypass JavaScript within 3 years," TIOBE's CEO predicts. (Adding "Let's see what the future has in store for Go...") Although the Go team actually has specific plans for the future, according to a blog post this week celebrating Go's 15th anniversary: We're working on making Go better for AI — and AI better for Go — by enhancing Go's capabilities in AI infrastructure, applications, and developer assistance. Go is a great language for building production systems, and we want it to be a great language for building production AI systems, too... For AI applications, we will continue building out first-class support for Go in popular AI SDKs, including LangChainGo and Genkit. And from its very beginning, Go aimed to improve the end-to-end software engineering process, so naturally we're looking at bringing the latest tools and techniques from AI to bear on reducing developer toil, leaving more time for the fun stuff — like actually programming!
TIOBE's top 10 programming language rankings for the month of November:
- Python
- C++
- Java
- C
- C#
- JavaScript
- Go
- Fortran
- Visual Basic
- SQL
perl less used than prolog? (Score:2, Insightful)
lol, that is really believable.
Re:perl less used than prolog? (Score:4, Informative)
TIOBE isn't a measure of use.
It's a measure of search engine activity.
I have lots of legacy Perl code, run it often, and occasionally need to tweak it.
But do I search the web for help? No. So, my use is invisible.
Colleges use Prolog in "programming language survey" classes, exposing students to half a dozen languages a semester. Prolog is used as an example of a declarative language that differs from normal imperative languages.
So, students are trying to write their first Prolog program and Googling for help. Once the program is done, they'll turn it in and never use Prolog again.
Re: (Score:2)
I really hate Go (Score:2)
We use it at work. Why would anyone ever choose this?
Re: (Score:2)
Can you elaborate? Because from quick look I had a while back, it at least looks a lot more accessible than Rust. What are your specific pain-points?
And no, I am not looking to then heap more-or-less valid (or invalid) counter-arguments on that. I am actually interested.
Re: (Score:2)
Fairnuf. Let me try.
I don't think it's very readable. I think, the way we use it, all the code is split into a million small files. On for each function. I miss generics.
The one good thing that I do like about Go. The actual Go channels, aren't really applicable to our case, as we are building a simple website. The concurrency comes naturally from the requests. Pointers? Who uses pointers in 2024?
I have used many languages over time. Favorites are Perl and C#. But many years of C and C++ as well. But I don'
Re: (Score:2)
Go has had generics for years. The splitting things up too much (I call it confetti code) is something you see from many developers in any language. Nothing in Go forces you to do that.
As for C#, I think many Go users would love it if they gave it a fair shot, but people in the Unix ecosystem would be far more likely to try Go.
Re: (Score:2)
Confetti code. I really love that expression. It's exactly what it is. :)
And i have seen it in C# as well.
Not all new things are progress IMO. :)
Re: (Score:3)
Confetti code. I really love that expression. It's exactly what it is. :)
And i have seen it in C# as well.
Not all new things are progress IMO. :)
For me, it's a holdover from how I programmed in Fortran; writing subroutines so it was easy to reuse code. Just garb the punch cards, drop them in, and of you go. Functions in Python are my modern set of punch cards.
Re: (Score:2)
Thanks!
Re: (Score:2)
Pointers? Who uses pointers in 2024?
By "Pointers" I take it you mean the choice of passing something by reference or by value.
Indeed, this is a complication in Go, that other languages (such as Java, C# (?), Javascript) have avoided, by passing scalar values always by value and composite types (arrays, structures) always by reference. I assume the designers of Go did it this way for performance and flexibility reasons, thus making the language somewhat lower level than languages that don't have such "pointers".
An example is the Go time.Time
Re: (Score:1)
Because time costs time, mate!
Re: (Score:2)
In Go, the only time you need to pass data by pointer rather than value is to change the caller's copy of it. The only time you have to pass by non-pointer value is if you want to make local-only modifications to the contents. Good practice says that methods for a given type should be consistent about having pointer or non-pointer receivers, and the only time.Time methods with pointer receivers are deserializers (GobDecode, UnmarshalJSON, etc.). Similarly, the only pointer parameters to time.Time methods
Re: (Score:2)
That Rust is hard to learn is clearly stated by the Rust Foundation.
I realise that you are trying to making a satirical point about how evangelic that Rust community are, but it doesn't fit with reality. "Rust is hard to learn" is widely acknowledged, which is why "Make Rust easier to learn" is a major objective for Rust language development.
Re: (Score:2)
Do Rustaceans have any good ideas on how to put the genie of language complexity back in the bottle? Once a language feature gets used, it's incredibly hard to make people stop using it. One can add a simpler way to do the same thing, but then a lot of people need to learn both the old and the new way.
Re: (Score:2)
Actually, I think go has a very large number of very nice features. But the development environment once you get past a single file is terrible...at least unless you set up a web site to hold the project, which I've never tried. And I'm not sure about documentation of your code. (That's what turned me off D.) Doxygen isn't great, but it's better than any alternative I've encountered, though JavaDoc is better in some ways.
Fortran at #8? (Score:2)
How much you wanna bet the most popular query is "why does Fortran programming suck so much?"
More seriously - is that truly the entirety of the "algorithm" they use? That's ludicrous. Who even writes a query about a language and adds the word "programming" to it?
Fairly sure they are asking ChatGPT for this list (Score:2)
So Python-programmers most resitant to ChatGPT? (Score:1)
While PHP-Programmers seem to adopt to use ChatGPT much more quickly and thus not ranking in this search-engine-test just as high as before?