News: 0175490797

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

On 15th Anniversary, Go Programming Languages Rises in Popularity (go.dev)

(Monday November 18, 2024 @04:04AM (EditorDavid) from the do-not-pass-Go dept.)


The [1]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 [2]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 [3]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 [4]building production AI systems , too... For AI applications, we will continue building out first-class support for Go in popular AI SDKs, including [5]LangChainGo and [6]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



[1] https://www.tiobe.com/tiobe-index/

[2] https://www.tiobe.com/tiobe-index/programminglanguages_definition/

[3] https://go.dev/blog/15years

[4] https://go.dev/blog/llmpowered

[5] https://pkg.go.dev/github.com/tmc/langchaingo

[6] https://developers.googleblog.com/en/introducing-genkit-for-go-build-scalable-ai-powered-apps-in-go/



perl less used than prolog? (Score:2, Insightful)

by Anonymous Coward

lol, that is really believable.

Re: (Score:3)

by ShanghaiBill ( 739463 )

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 hel

Re: (Score:2)

by VeryFluffyBunny ( 5037285 )

Yeah, but did they include results with the prefix, "what the fuck is..."? I think the results might be skewed.

I really hate Go (Score:2)

by k2dk ( 816114 )

We use it at work. Why would anyone ever choose this?

Re: (Score:2)

by gweihir ( 88907 )

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)

by k2dk ( 816114 )

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)

by Njovich ( 553857 )

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)

by k2dk ( 816114 )

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:2)

by gweihir ( 88907 )

Thanks!

Re: (Score:2)

by votsalo ( 5723036 )

> 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)

by angel'o'sphere ( 80593 )

Because time costs time, mate!

Fortran at #8? (Score:2)

by 93 Escort Wagon ( 326346 )

> ... counting the number of search results for the language's name followed by the word "programming" ...

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)

by ClueHammer ( 6261830 )

And it is making stuff up as per usual.

So Python-programmers most resitant to ChatGPT? (Score:1)

by jkechel ( 1101181 )

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?

Croll's Query:
If tin whistles are made of tin, what are foghorns made of?