Slashdot Mirror


Go Version 1 Released

New submitter smwny writes "Google's system programming language, Go, has just reached the 1.0 milestone. From the announcement: 'Go 1 is the first release of Go that is available in supported binary distributions. They are available for Linux, FreeBSD, Mac OS X and, we are thrilled to announce, Windows. ... Go 1 introduces changes to the language (such as new types for Unicode characters and errors) and the standard library (such as the new time package and renamings in the strconv package). Also, the package hierarchy has been rearranged to group related items together, such as moving the networking facilities, for instance the rpc package, into subdirectories of net. A complete list of changes is documented in the Go 1 release notes. That document is an essential reference for programmers migrating code from earlier versions of Go. ... A similar process of revision and stabilization has been applied to the App Engine libraries, providing a base for developers to build programs for App Engine that will run for years.'"

13 of 186 comments (clear)

  1. Go is already being used by CondeZer0 · · Score: 4, Interesting

    The amazing thing is that even before the first stable release is out quite a few organizations are using Go in production to run real systems. Very impressive:

    http://go-lang.cat-v.org/organizations-using-go

    --
    "When in doubt, use brute force." Ken Thompson
  2. Added value of Go? by billcarson · · Score: 5, Interesting

    Can someone explain to me what Go's aim is, and why exactly it requires a new programming language? Is it meant a replacement for Java/C++/Python, or does it cater a new branch of programming?

    1. Re:Added value of Go? by cgt · · Score: 5, Informative

      It is supposed to be a systems language like C, but better. It's sort of like Pythonic C (very expressive, but still C like).

    2. Re:Added value of Go? by Urban+Garlic · · Score: 4, Interesting

      Maybe I'm too old-school, but when I think "systems language", I think about something that would be good for embedded devices or kernel device drivers, stuff that's pretty close to the metal. I wouldn't use Go for that, garbage-collection and concurrency mean there's heap traffic and IPC signaling under the hood that I probably want to control.

      I agree with the "C but better" characterization, but the ways in which it's better disqualify it from being a good systems tool, I think.

      --
      2*3*3*3*3*11*251
    3. Re:Added value of Go? by PCM2 · · Score: 4, Informative

      Maybe I'm too old-school, but when I think "systems language", I think about something that would be good for embedded devices or kernel device drivers, stuff that's pretty close to the metal. I wouldn't use Go for that, garbage-collection and concurrency mean there's heap traffic and IPC signaling under the hood that I probably want to control.

      Java is used in a lot of embedded systems, and it has garbage collection and concurrency.

      Unlike Java, though, Go compiles to native binaries, rather than running on a VM (though maybe the real difference is debatable with modern JITs).

      --
      Breakfast served all day!
    4. Re:Added value of Go? by GreatBunzinni · · Score: 5, Insightful

      It is supposed to be a systems language like C, but better.

      IMHO, if it isn't standardized, opened up and backed up by an international standard then it will never be better than C. For all problems that may or may not affect C and for all problems involved in the development and update of a standard for each version of the C programming language, these multiple versions of the C programming language are effectively set in stone. This means that the language is future-proof, as multiple implementations may be developed and, by targetting the standard, they can interoperate without any major consequence.

      If Go isn't standardized and if Google intends to control the language then it would be a terrible decision to adopt Go instead of a time-tested, well established tool which is future-proof and resistent to bit-rot. We all have Oracle and Java as a good warning.

      --
      Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
  3. Re:Go has some good ideas by Cenuij · · Score: 4, Insightful

    The style, or your preference for a particular style, is not important in the least. What's important is the consistency. Really... *nobody* cares what style *you* prefer.

    --
    my other sig is written in brainfuck ;)
  4. Re:Wake me by Ibiwan · · Score: 4, Insightful

    So do good ones.

    --
    -- //no comment
  5. Re:Wake me by amck · · Score: 4, Insightful

    The GP referred to Fortran and C as well as python.

    Increasingly we're seeing lots of legacy code (C / C++ / Fortran) wrapped in Python. People using Python for simplicity and expressiveness, dropping to C , etc. for the heavy lifting. This is especially true in the sciences (in HPC, for example).

    Trying to avoid the language flamewar, there are distinct advantages in a small number of interoperable languages like this.
    If I'm to try a new language, I want to avoid having to rewrite the world in it. I might convince my colleagues to use my code if they can interop. from the language they are already using, like C/C++ or Python.

    --
    Anyone who believes exponential growth can go on forever in a finite world is either a madman or an economist
  6. Re:Rube Googleberg Machines? by Cenuij · · Score: 5, Informative

    I don't think you fully grok what they have achieved. Google employs only a handful of people who work on Go, and probably not all them work full time on it (though maybe that's not true lately in the last release cycle).Let me give you a quote from an accomplished (hint, you use his code every day) C & C++ hacker on using Go:

    "In my experience Go is probably 5-10x faster than C or C++. I estimate that programs that take me half an hour to write in Go would take me about 2½ hours in C and 5 hours in C++."

    Then when you only have to wait about 10 seconds or so for the whole Go std library *and* all your own libs and binaries to build, you can see it's value over waiting for large C++ projects (of which Google has many) to build.

    --
    my other sig is written in brainfuck ;)
  7. Re:Pi is wrong on the main site by Zoinky · · Score: 4, Informative

    As it mentions in the code, it's an approximation of pi using concurrency. The number of "goroutine" calls used determines the accuracy. In the code comments, they refer you to http://goo.gl/ZuTZM if you want more information on the algorithm they are using. Increasing the accuracy is just a matter of increasing n in their example.

  8. Re:Rube Googleberg Machines? by hanwen · · Score: 4, Interesting

    I write both Go and C++ at google. Sadly, Rob Pike's joke has a definite core of truth: writing C++ code at google is extremely time-consuming and difficult to get right because it has to be multi-threaded and asynchronous.


    Long compile times is more of a build system problem than a compiler problem, IME. Of course, lots of people have broken build systems, and compile the same things over and over again ...

    Well, our in-house developed build system is the best I've ever seen, and probably the best in the industry. Read more about it here. Even with all the niftyness of a thoroughly correct build system and a data-center sized ccache, it still sucks.

    Go is definitely awesome, and I recommend everyone to set aside the gripes with the syntax and learn it. I guarantee you that you'll be pleasantly surprised.

    --

    Han-Wen Nienhuys -- LilyPond