Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming

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

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:
  1. Python
  2. C++
  3. Java
  4. C
  5. C#
  6. JavaScript
  7. Go
  8. Fortran
  9. Visual Basic
  10. SQL

On 15th Anniversary, Go Programming Languages Rises in Popularity

Comments Filter:
  • by Anonymous Coward on Monday November 18, 2024 @01:29AM (#64953305)

    lol, that is really believable.

    • by ShanghaiBill ( 739463 ) on Monday November 18, 2024 @02:02AM (#64953333)

      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.

  • Yes, nothing makes a language more popular to me than the need to Google its name followed by the word "programmiing".

    Why, when I'm working, churning out line after line of code all day, I often take a break and google "C++ programming".
    Just to keep my mind fresh.

    These numbers are pure bullshit.
  • We use it at work. Why would anyone ever choose this?

    • 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.

      • 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'

        • 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.

          • 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. :)

            • 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.

        • by gweihir ( 88907 )

          Thanks!

        • 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

          • Because time costs time, mate!

          • by Entrope ( 68843 )

            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

            • I have found that using a pointer to a struct is generally safer. I've been bitten many times by modifying a copy instead of the actual value. As an example, if you iterate over an array of struct values, in each iteration you get a copy of a slice element. If you change a struct field in the element, your are modifying a copy of it, not the element in the slice, unless you explicitly save the modified element back to the slice. The compiler gives you no warning.

              If you accidentally forget to use a pointe

              • by Entrope ( 68843 )

                The change in scope of for-loop variables is in the direction that you say is dangerous, though.

                How many times do you normally repeat a mistake? I got bitten once by a broadly similar mistake -- something like "m[k].f = 1" when trying to update a field in a struct stored in a map -- and learned my lesson after that.

                • I never repeat the same mistake. I always instantiate a new mistake from a type of mistake.

                  I don't remember whether I've used a slice/map of values or pointers. Even worse, I sometimes change my mind and change pointers to values. It's then that code like the code you mentioned, "m[k].f = 1" may still compile, but not work correctly.

        • > But our targe are 2 servers, and the cost of a dev team dwarfs the cost of the 2 servers.

          That's only in the short-term view. Granted, over 1 month devs will cost more than AWS. Now extrapolate that over 10 years, I'm pretty sure at some point, that fixed development cost will be eclipsed by the variable cloud provider costs. Now factor in AI workloads where the AWS bills hit 7 figures, still think dev time is the biggest cost?

          Go is opinionated by design. For that reason, Go is orders of magnitude more

      • I think the language is designed to prevent the programmer from doing anything too complicated. An attempt to make programmers a commodity. The problem is sometimes you need to actually write code using features it intentionally omits
    • by HiThere ( 15173 )

      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.

    • by _merlin ( 160982 )

      It's useful as a language for those kinds of "glue" things that are too big to be a good fit for a scripting language, but not a full-blown application. The Erlang-inspired concurrency model is simple and easy to use. No performance-sapping global interpreter lock like Python. It's cross-platform. It's relatively simple, especially compared to monsters like C++, but even compared to Java and C#. It's a niche language, but it's a fairly big niche.

  • by 93 Escort Wagon ( 326346 ) on Monday November 18, 2024 @02:22AM (#64953349)

    ... 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?

    • by _merlin ( 160982 )

      I have no idea why Slashdot continues to post their shit. It isn't news for nerds, it doesn't matter. I have no idea how they've managed to last this long and how they're big enough to need people with titles like "CEO". It's a completely bogus metric, and programming language popularity doesn't jump around month-by-month like they try to say. Projects aren't migrated from one language to another anywhere near that quickly.

    • How much you wanna bet the most popular query is "why does Fortran programming suck so much?"

      It's more likely to be
      Why do all super-computer benchmarks use Fortran?
      or
      Why is Fortran faster than Go, Rust and C++?
      or
      Why do Fortran programmers think I am not a scientist because I use Go, Rust or C++?

  • And it is making stuff up as per usual.
  • 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?

  • SQL underlies code for all kinds of languages and projects of all types. Yes, NoSQL is all the rage, but when companies need operational data storage, they still turn to SQL I really don't put a lot of stock in these rankings.

  • It's finally become more popular (in terms of web searches) than Fortran? Is that some kind of major accomplishment?

    That's kind of like a story about web browser usage, and the headline is that Samsung Internet is finally more popular than Opera. https://www.oberlo.com/statist... [oberlo.com]

  • It highlights those seeking help with a technology, not those using the technology without difficulty. Professional programmers rarely need to search for help.
    As a simple example the JDK includes documentation of the entire API.

  • You know you are a great language when you barely surpass the other popular languages like Fortran, Visual Basic, and SQL. (Why is SQL even considered a language?)

Technology is dominated by those who manage what they do not understand.

Working...