Slashdot Mirror


Programming Language Go Turns 8 (golang.org)

On this day, eight years ago, a group of programmers at Google released Go, a brand-new open-source programming language that they hoped would solve some of the problems they faced with Java, C++ and other programming languages. In the past eight years, Go has gotten a tremendous traction, with Go helping drive several services running inside Google. The company, on its part, has added a handful of features to Go, including a revamped garbage collector in 2015, and support for various ARM processors. From a blog post: Go has been embraced by developers all over the world with approximately one million users worldwide. In the freshly published 2017 Octoverse by GitHub, Go has become the #9 most popular language, surpassing C. Go is the fastest growing language on GitHub in 2017 in the top 10 with 52% growth over the previous year. In growth, Go swapped places with Javascript, which fell to the second spot with 44%. In Stack Overflow's 2017 developer survey, Go was the only language that was both on the top 5 most loved and top 5 most wanted languages. People who use Go, love it, and the people who aren't using Go, want to be. [...] Since Go was first open sourced we have had 10 releases of the language, libraries and tooling with more than 1680 contributors making over 50,000 commits to the project's 34 repositories; More than double the number of contributors and nearly double the number of commits from only two years ago. This year we announced that we have begun planning Go 2, our first major revision of the language and tooling.

8 of 67 comments (clear)

  1. Dead end language by Anonymous Coward · · Score: 3, Interesting

    The question is how many months will it be before Rust surpasses Go in every significant metric; libraries, active developers, popular projects, etc. Go doesn't offer anything other than being part of Google's "mind share." It's another garbage collected managed application language in a market stuffed to the gills with such tools. What success Go has had is almost entirely due to Google marketing.

  2. Re:Go? by PolygamousRanchKid+ · · Score: 4, Insightful

    I didn't think anyone was still using GO. 8 years is venerable for a "fashion" language.

    The Hyperledger Blockchain system uses Go for writing chaincode contracts: https://www.hyperledger.org/

    I have no idea why that was chosen . . . but I think your "fashion" statement has a lot to do with it.

    On the other hand, serious potential blockchain users, banks and insurance companies, are very wary about using such a "young" language. At least with Java, we have spent a lot of time identifying security issues, and programmers have had a lot of time to learn it well.

    With Go . . . we'll be just starting with the security issues and other quirks with the language.

    So, when is Google going to offer Go as a development option on Android . . . ?

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  3. Horrible language by cjonslashdot · · Score: 5, Interesting

    It's my opinion, yes, but Google and see the number of websites and posts about "go gotchas". It is the only language I know where you can check for null, then do a type inference and check for null on that and get a different result; or how about the fact that an argument passed as a method target gets treated differently than an argument passed in an argument list. And the culture of go is terrible - short little variable names like "unm" and "d" instead of expressive names like "userName" and "documentId" - try searching for all instances of "d" when you want to find where it is used. And then the fact that you can't look at an object and tell what type it is, or what methods might actually apply to it. It is the _MOST_ difficult language for examining someone else's code and trying to figure out what is going on.

    1. Re:Horrible language by joeslugg · · Score: 4, Insightful

      It is the _MOST_ difficult language for examining someone else's code and trying to figure out what is going on.

      AHEM. Perl much?

    2. Re: Horrible language by pchasco · · Score: 4, Interesting

      I think the language is alright, and I use it regularly because it is the best alternative to C and C++ that I have discovered so far (need to look into rust). That said, I share your annoyances and add some more: * No method overloading. Itâ(TM)s annoying to have to come up with a new name for permutations like: func (matrix *Matrix4) SetTranslation(x, y, z float32), func (..) SetTranslationVector3(vector *Vector3), SetTranslationMatrix4(matrix *Matrix4), ad infinitum. * I find the previous issue ironic given their reason for omitting overloads, that it makes code less readable, yet their habit of using abstract, one or two character identifiers for everything * Public members are PascalCase, private are camelCase as a rule. This was especially annoying before go-aware refactor tools were available.

  4. Re:Go? by phantomfive · · Score: 3, Informative

    Go is really popular with devops type jobs (github and gitlab use it, for example). It was designed to fit in that kind of niche (which Google has a lot of need for) and it does it well.

    It annoys me that they are making a backwards incompatible version, though. All the time I spent learning the language gone to waste.

    --
    "First they came for the slanderers and i said nothing."
  5. Go 2? by cfc-12 · · Score: 5, Funny

    This year we announced that we have begun planning Go 2, our first major revision of the language and tooling

    No thanks. Everyone knows that using Go 2 in your code is bad programming practice.

  6. Re:Go? by datavirtue · · Score: 5, Interesting

    Go is lame and pointless until you learn about go routines, channels, channel buffers, directions. All the other stuff is in there cause it has to be in order to serve as a programming language. Message passing between lightweight threads compiled to binary....and you get the point. Pivotal Cloud Foundry is built in Go. Docker, which is along the same lines is built in Go. Should you use it to build enterprise business apps? Nope. High performance middle tier and server processes? Yeah.

    --
    I object to power without constructive purpose. --Spock