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.

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

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