2

Is the Go Programming Language Surging in Popularity? - Slashdot

 7 months ago
source link: https://developers.slashdot.org/story/24/02/17/231238/is-the-go-programming-language-surging-in-popularity
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Is the Go Programming Language Surging in Popularity?

Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

binspamdupenotthebestofftopicslownewsdaystalestupid freshfunnyinsightfulinterestingmaybe offtopicflamebaittrollredundantoverrated insightfulinterestinginformativefunnyunderrated descriptive typodupeerror

Sign up for the Slashdot newsletter! OR check out the new Slashdot job board to browse remote jobs or jobs in your area

Do you develop on GitHub? You can keep using GitHub but automatically sync your GitHub releases to SourceForge quickly and easily with this tool so your projects have a backup location, and get your project in front of SourceForge's nearly 20 million monthly users. It takes less than a minute. Get new users downloading your project releases today!
×

Is the Go Programming Language Surging in Popularity? (infoworld.com) 32

Posted by EditorDavid

on Saturday February 17, 2024 @06:34PM from the popularity-contests dept.

The Tiobe index tries to gauge the popularity of programming languages based on search results for courses, programmers, and third-party vendors, according to InfoWorld.

And by that criteria, "Google's Go language, or golang, has reached its highest position ever..."

The language, now in the eighth ranked position for language popularity, has been on the rise for several years.... In 2015, Go hit position #122 in the TIOBE index and all seemed lost," said Paul Jansen, CEO of Tiobe. "One year later, Go adopted a very strict 'half-a-year' release cycle — backed up by Google. Every new release, Go improved... Nowadays, Go is used in many software fields such as back-end programming, web services and APIs," added Jansen...

Elsewhere in the February release of Tiobe's index, Google's Carbon language, positioned as a successor to C++, reached the top 100 for the first time.

Python is #1 on both TIOBE's index and the alternative Pypl Popularity of Programming Language index, which InfoWorld says "assesses language popularity based on how often language tutorials are searched on in Google." But the two lists differ on whether Java and JavaScript are more popular than C-derived languages — and which languages should then come after them. (Go ranks #12 on the Pypl index...)

TIOBE's calculation of the 10 most-popular programming languages:

  1. Python
  2. JavaScript
  3. Visual Basic

Pypl's calculation of the 10 most-popular programming languages:

  1. Python
  2. JavaScript
  3. C/C++
  4. TypeScript
  5. Swift
  6. Objective-C
  • It is compiled language. It has some data structures builtin similar to Python. It has (very fast) garbage collection. And it has very good parallel support built in.
    • Re:

      Fast or not, I wish the garbage collection wasn't there because it causes frequent non-deterministic dips in performance, a real problem in game development, especially if you're writing a network stack.

      • Why on earth would you do game development in golang?

        • Re:

          Because, aside from the GC, it doesn't suck for games.

          GC also puts Golang off the table for embedded work.

          Rust has shown we can have robust memory management without GC.

          • How does it not suck for games? At least with C# there's first class support for things like controllers, gui, graphics, and sound. Golang's developers didn't have any of this in mind. The language as a whole tends to assume that you're writing some back-end server code meant to run on a headless unix OS.

        • Re:

          Well, Unity uses C#, which is very similar, but slower.

          Go is compiled, faster, and just as easy to pick up. The GC is not great, but it seems at least as good an option as C#.

          • That's great and all, but the language just isn't built for it. Unless you're doing text or tui based games or something, even the more simple games need to be modeled in such a way that go doesn't really lend itself well to.

      • Re:

        That depends heavily on the algorithm used for garbage collection.
        I doubt Go lang uses a so called "stop the world" garbage collector.

          • That Von Kaiser has well established that by now. See the link in my signature. The second I read his post I had a "wtf is this guy on?" moment, but then I realized who it was.

    • It's a decent language for simple stuff, but as soon as you need to build even mildly complex data structures, you end up with a LOT of repetitive code.

      Oh, and if you could somehow do without the if err != nil pattern, you'd probably shrink the number of lines in every golang project by half.

      • Re:

        Maybe they should add "catch (...) { }" to the language.

        But seriously, they proposed a rather straightforward streamlined syntax for errors a couple of years ago, but it was rejected by the community. Back to the drawing board.

        I personally don't mind the very explicit error handling too much. It kind of makes it clear that you've though through at least some of the corner cases.

        • Re:

          The issue with the explicit error handling is it becomes the boy who cried wolf. When you just reflexively and tediously do a 'if err != nil { return nil, err }' every five seconds it just becomes a tedious ritual without thinking. No one is *really* thinking about "wait, do I need to unwind something here instead of just propogating the error?" any more than they would in an exception driven language.

          Of course, within your project, you could decide to go Java/Javascipt/Python style and lean on panic with

        • I don't personally like try/catch either. I vastly prefer rust's method of simply using a question mark to bubble up errors. Rust style enums, which that pattern is based around, are also dead simple to understand while being extremely powerful, and would greatly simplify so many things in golang if they adopted something similar.

          Alas, golang considers enums of any type to be too hard, so the closest they let you have is iota.

      • Re:

        Of course, that's only half of 99% of the error handling pattern. In go, after every function call the full statement will be:

        if err != nil { return nil, err }

        It would have been significiantly nice to have a quick shorthand to say "my function wants all errors auto-propogatred unless explictily assigned for handling'.

  • by stephanruby ( 542433 ) on Saturday February 17, 2024 @07:02PM (#64248304)

    Yes, Go is becoming more popular, but why are we still using the TIOBE index?

    That index is absolute junk and can be gamed.

    • The word you are looking for is cherry-picking. Because that is the only one showing Go is âoesurgingâ
      • I wouldn't be surprised if it is, but the code quality I've seen in a lot of golang projects on GitHub tends to skew towards being pretty bad, so it would make sense if there's a lot of junk suddenly appearing that's pushing its popularity indicators up.

    • Why are we even raising the question as to what language is “winning” the Viral Clickbait Games every 90-180 days? Choosing the right software, shouldn’t come down to who has the best cheerleaders in marketing. That’s how you end up with shit code.

      • Re:

        Well, the *specific* rankings are flawed and not really useful, but ecosystem matters, so knowing what languages have a broader community (whether because you are hoping for a certain library to already exist for your use case or becuase you want to have good chances to hire if you need).

        I suppose you can make the argument that the popular languages are pretty self evident. However potentially more interesting is if you see that your codebase is in one language and only by the periodic nagging about these

    • Re:

      Because language popularity is interesting and we don't have a better index.

      The TIOBE index shows you can fill a vacuum and still suck.

    • Both indices agree that apart from Python, the top-ranked languages, irrespective of order in the top ranking, are C, C++, Java, JavaScript and C#.

      When you think of it there is C as the most widely available and used imperative language, C++ the most used imperative language with object oriented and a kind of generic programming as extensions, Java the most adopted object-oriented language with garbage-collected memory management and JavaScript is what people have migrated to for graphical content and ap

  • Python is #1 on both TIOBE's index and the alternative Pypl Popularity of Programming Language index, which InfoWorld says "assesses language popularity based on how often language tutorials are searched on in Google."

    That sounds like a great way to gauge how many people are learning those languages. It doesn't tell us much about how much code is being generated by users of those languages though, as people who are especially familiar with a given language are less likely to search for tutorials.

    • Re:

      It's not attempting to be an index of the "most code generated" anyways.

      TIOBE is an index of how popular it in "discussions" and things like that.

      PYPL is an index of how popular people looking for the tutorials of a language are.

      There have been in the past some projects that attempted to measure code generated with multipliers for LoC (since some languages are inherently wordy and some language are much more compact.) At least as of a few years ago, C and C++ were the overwhelming winners, but this i

    • Re:

      For that you can check Github language stats https://madnight.github.io/git... [github.io]

      The negatives:
      * Ruby, Objective-C flatlining
      * Javascript starting to collapse
      * PHP, Java on slow decline
      * Erlang, Clojure, Haskell were always small and getting smaller

      The positives:
      * Python picking up as most popular
      * Go smaller but following Python's trend
      * Typescript doing well at its level
      * C, C++, C# on steady increase
      * Rust made a small bump

      • Re:

        By mistake I checked "Stars" instead of "Pull requests" but results are relatively similar.

  • I would expect the languages at the bottom rung of popularity to have differing ranks between indexes. But the only rank the two indexes agree on is #1, Python. That divergence is an indication that the rankings contain a lot of statistical noise, and shouldn't be taken too literally.

    • Re:

      As long as we do not know what is going on inside of companies, we have no idea what languages are mostly used.

      We could look for job offers. But then we have similar problems in judging.

      Someone interested could sent an "open letter" at companies and ask for: "what languages are you using, how many developers in each language and how big are the projects?"
      But it is unlikely that the answers are coherent.

  • I'm planning on using go for my next project. I'm not certain, because I *don't* want to put it on github, and the documents all seem to say that's the way to use multiple files in the same project. So maybe not.

    OTOH, go has virtual threads that are like a threadpool+scheduler, and that seems a bit difficult to do well. The C++ examples I've seen don't really address a lot of the issues. (Which is *why* I'm planning on trying go. If I can figure out the development environment. [I bounced off of that

  • This is the first I've heard of Carbon: Google's Carbon language, positioned as a successor to C++
    Reading about that [techtarget.com]:

    Carbon's creators also designed the language to help developers write code that is easier to both maintain and scale over time. Part of this involves providing a simple syntax that improves the code's readability and expressiveness

    Yea, C/C++ and Rust started out with relatively simple syntax. C++ has become a bouillabaisse of unreadable random punctuation sequences. Rust, unfortunatel


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK