Slashdot Mirror


Google Go Capturing Developer Interest

angry tapir writes with news that Google Go seems to be cutting a wide swath through the programming community in just a short time since its early, experimental release. While Google insists that Go is still a work in progress (like so many of their offerings), many developers are so intrigued by the feature set that they are already implementing many noncritical applications with it. What experiences, good or bad, have you had with Google Go, and how likely is it to really take over?

25 of 434 comments (clear)

  1. Oh yeah, that ... by checkitout · · Score: 5, Insightful

    Until this article, I forgot it was ever announced.

    1. Re:Oh yeah, that ... by TheLink · · Score: 5, Insightful

      Me too. I'll wait for those captured developer(s) to develop more libraries for it first.

      A programming language that's "powerful" for the code you write is good for those uber-programmers.

      A programming language that's "powerful" for the code you no longer have to write is for those crappy programmers like me :).

      Many promising programming languages make it to the first category but never make it to the second.

      --
  2. "many developers are so intrigued" by Anonymous Coward · · Score: 5, Insightful

    Translation: Someone is drumming up some marketing astroturf for a single-company controlled proprietary language.

    1. Re:"many developers are so intrigued" by I+confirm+I'm+not+a · · Score: 4, Informative

      "Proprietary"? No, open source

      I'll concede Google is a single company, but the Go developers I've encountered are all outside Google, and speak very warmly of Google's Go team.

      Translation: there is much astro-turfing on them thar intarwebs. This ain't it.

      --
      This is where the serious fun begins.
    2. Re:"many developers are so intrigued" by MrBandersnatch · · Score: 4, Insightful

      "At least Java's main benefit was portability."

      Write once, test everywhere?

    3. Re:"many developers are so intrigued" by FlyingBishop · · Score: 5, Insightful

      That's inevitable. It's certainly better than write everywhere, test everywhere.

    4. Re:"many developers are so intrigued" by TheLink · · Score: 4, Insightful

      Perl and python are quite portable too, though not as portable as Java.

      But in practice many nontrivial programs end up with so many dependencies that they aren't that portable anymore.

      For example, say you want to write a program to record video from a video camera and audio from a sound device. And you want to cater for the possibility of more than one selectable camera and sound device.

      Even if you write it in java, you're going to have to do different things depending on whether it runs on Windows, OSX or Ubuntu.

      Why? Little things like figuring out which is the user's default recording device, and using it might be different on different platforms.

      Or in theory it's supposed to work, but currently the current Java release for the current OS release is buggy, so the workaround meantime is "...".

      If you want a polished end product you have to take care of stuff like that.

      --
    5. Re:"many developers are so intrigued" by colmore · · Score: 5, Interesting

      Oh whatever, this is news.

      There hasn't been a successful new systems programming language since the introduction of C++ almost thirty years ago. Programming language technology has advanced a great deal since then. A new systems language is a very big deal, and Google is playing very fair and open with it.

      Quit bitching.

      --
      In Capitalist America, bank robs you!
    6. Re:"many developers are so intrigued" by Monkeedude1212 · · Score: 4, Funny

      I don't think COBOL was a systems language. It was for business logic.

      No, it wasn't a systems language.

      THATS how amazing COBOL is.

    7. Re:"many developers are so intrigued" by roman_mir · · Score: 5, Funny

      you don't think Go will go well? :)

      I read the spec, I noticed that Ken Thompson is one of the designers and this:

      This approach makes for clean-looking, semicolon-free code. The one surprise is that it's important to put the opening brace of a construct such as an if statement on the same line as the if; if you don't, there are situations that may not compile or may give the wrong result. The language forces the brace style to some extent.

      - if this is not done on purpose, I'll eat my hat (which by coincidence is currently made of some eatable stuff I think).

      I know why there is this new language now, forget about everything else, Ken just wanted to make a point of the correct style of opening braces and he came up with a language that does not allow you to do any different!

    8. Re:"many developers are so intrigued" by BitZtream · · Score: 4, Insightful

      I run into more portability issues with Python than I ever have with Java, and thats just between Windows and Linux, the same could be said for Ruby. I haven't dug deep enough into perl to say the same for it. I avoid TCL ever since I stopped using eggdrop, vile creature that it is.

      I've written a little python, a lot of ruby, and a fair amount of java, it beats both those others for cross platform issues in my experience, and I'm ignoring Ruby on DOS as thats a whole new set of issues and isn't really even a fair comparison since the OS is so far different, I don't think there is a DOS JVM, and I have no idea about python and DOS.

      I absolutely HATED Java apps before I was forced to start writing Java code myself. What I learned VERY rapidly is that Java apps suck if you're a shitty programmer. If you don't have any clue how to write code and no clue about the common pitfalls of cross platform dev, it can kill you. 9 times out of 10, its because the programmer did stupid shit that he/she shouldn't have that is clearly OS specific when its a cross platform compatibility issue. Likewise all the slow beasts of Java 'apps' that you come across generally suck because the programmers have no idea what they are doing. Stupid crap like doing string concatenation one character at a time using a string variable rather than class designed for string concatenation and proper allocation for it.

      Java isn't the problem. Much like VB, shitty Java programmers are the problem. Java and to a much larger extent, VB draw in people who aren't programmers because of the marketing, and then we see tons of crappy Java apps because the language is in fact, TOO easy to use.

      Say what you want about Java in the past, it could be true. Today? Muh, there is very little if any truth in your statements at this point in time.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  3. Bright future to go. by zeromorph · · Score: 4, Insightful

    It is an interesting concept for a low-level language and could be pretty important. And since the gccgo compiler has been accepted by the gcc steering committee (link), I am expecting Go to stay and prosper.

    --
    "Hannibal's plans never work right. They just work." Amy/A-Team
  4. Bad infomercial by captaindomon · · Score: 5, Insightful

    This summary reads like a bad infomercial. "How likely is it to really take over?" not likely at all, and nobody would ask that question unless they worked for Google Marketing.

    --
    Just because I can hook a shark from a boat, I do no offer to wrestle it in the water.
  5. Re:Name by BhaKi · · Score: 5, Informative

    There has been no settlement because there has been no legal dispute. There has been no legal dispute because the creator didn't trademark the name 'Go'.

    --
    The largest prime factor of my UID is 263267.
  6. who's using it? by larry+bagina · · Score: 5, Funny

    "C++ is too hard, I'll use java. java is too hard, I'll use C#. C# is too hard, I'll use python. Python is too hard (boner?), I'll use ruby. ruby is too hard, I'll use Go." -- GoFanBoy (formerly RubyFanBoy, formerly PythonFanBoy, formerly ...)

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

    1. Re:who's using it? by Tumbleweed · · Score: 4, Interesting

      "C++ is too hard, I'll use java. java is too hard, I'll use C#. C# is too hard, I'll use python. Python is too hard (boner?), I'll use ruby. ruby is too hard, I'll use Go." -- GoFanBoy (formerly RubyFanBoy, formerly PythonFanBoy, formerly ...)

      Ruby is considered easier than Python? C# is considered easier than Java?

  7. it's an interesting case by fusiongyro · · Score: 5, Interesting

    I wrote a small utility for detecting duplicate files in Go back when it first came out. I haven't really kept it up to date so I'm not sure if it compiles with the current version.

    It's an interesting language. Apart from its lineage, which is interesting and great if you're into Plan 9, it seems to me to be an old-school procedural shot across the bow of the current crop of compiled functional languages (ML, Haskell). It's hard to place the language in any camp, because it does furnish functional programming and object-oriented features without really committing to the dogma of either one. It gives you a ton of interesting features that seem to work really well in concert, but it's also missing some core functionality. I can live without exceptions but I'm not sure I can live without type genericity in this day and age. And a lot of other programmers have their own little nits with it.

    Overall, it seems great. But I seldom need code compiled to the machine, and I'm conversant with and fond of the compiled FP languages so I tend to rely on them for these kinds of utilities. I suspect at Google this will eventually become the de-facto language for implementing protocol buffer servers. If and when that happens, the language will have a guaranteed niche for a long time to come, whether or not it wins over hearts and minds outside the giant.

  8. Alternatives? by Filik · · Score: 4, Interesting

    Could anyone post a list of alternative modern programming languages that equally handles parallelism as well, that are still being actively developed, and their pros and cons compared to Google Go? I'm interested in learning one of these, I just can't find any easy overview anywhere (all mentioned in wikipedia are pretty old so lots must be missing...). Surely Haskell isn't the latest such project, there must be lots of others just around corner?

    1. Re:Alternatives? by Coryoth · · Score: 5, Interesting

      I can't give opinions on all of these (and some are still in development at this time anyway), but here's a list of some languages with paralellism designed in:

      • Erlang -- Very popular message passing/actor model based language.
      • Scala -- A functional language with actor model concurrency for the JVM.
      • Oz -- An exceptionally multiparadigm language.
      • Occam-pi -- The modern version of the old occam for transputers; CSP style concurrency (I believe).
      • Chapel -- Cray's parallel programming language for supercompters. Cray's entry into DARPA's HPCS programming language competition.
      • X10
      • Fortress -- Sun's language for serious scientific computing. It was Sun's entry into DARPA's HPCS programming language competition, but lost and is now open sourced.
      • Eiffel SCOOP -- An effort to take a CSP model and make it elegantly compatible with object oriented programming
  9. What innovation? by piranha(jpl) · · Score: 5, Interesting

    So, what has Go brought to the table?

    Go is designed with internal messaging capabilities, intended to simplify the creation of applications running on different nodes, and improve their performance.

    "It's a way to try to address how to write concurrent software that's more robust, as opposed to using the old threading model of Java and others," Voss said.

    ...

    In this regard, Go offers "a new programming paradigm" that makes it easier to solve a wide variety of programming problems by simplifying many types of parallel processing.

    No, Go doesn't bring anything new to the concurrency table. The two things I've seen about Go concurrency that are regarded as special are M:N/"green" threads and CSP-style channels.

    M:N threading is an implementation detail of a language runtime. Whereas the standard library of a language might specify how threads are available to client applications (programs written in the language), it's best left to the implementation (runtime or compiler) to decide how to translate those threads onto the machine. Some implementations might want to focus on scalable, high-performance threading, and so they'd choose M:N. Some others might emphasize simplicity, and map language threads directly to OS threads. What Go has done is standardized this implementation detail into the language specification. (I don't think that's a good idea, but that's a matter of taste.) Other language implementations offer M:N threading, including GHC and (I think) Erlang.

    On channels: they're cool. I love them. But there's a lot of prior art here, and many languages have great CSP-style channel libraries written for them that offer the same great flavor of relatively safe message passing and alternation between sets of channels:

    In summary, I just don't get what the buzz with Go is about, besides that it's Google's very own language.

  10. Re:Go fuck yourself by cmiller173 · · Score: 4, Insightful

    30 years ago there were enough programming languages "already". What do you need that can't be handled by COBOL, FORTRAN, Pascal, Ada, ANSI C and assembly language?

  11. Re:Name by schon · · Score: 5, Funny

    Except that in order for a non-registered trademark to be valid, it must be well known.

    Sorry, but "hey, I created a language - it was used by both me *and* my ex-girlfriend's dog five years ago" doesn't cut it.

  12. Eh? by thePowerOfGrayskull · · Score: 5, Insightful

    angry tapir writes with news that Google Go seems to be cutting a wide swath through the programming community

    He may write that, but that's not what the article says:

    While Go is still a work in progress, some developers are so encouraged by its features and design that they have started using it to build noncritical application

    What experiences, good or bad, have you had with Google Go, and how likely is it to really take over?

    Um, take over what? Is this a serious question? The answer here is "never" -- for the same reason that no single language will ever "take over" the software development landscape. There is no one tool fit for every job.

  13. Re:Go fuck yourself by dskoll · · Score: 5, Funny

    I'll let you know if/when my program halts...

  14. Nirvana Quest by strangeattraction · · Score: 5, Funny

    I was one of those developers chafing at the bid to get my hands on Go. Once I started I never looked backed. I was able to write my own version of HelloWorld in half (that is 1/2) the time it took me to do it in C and it was bug Free with no memory leaks. I think that pretty says it all. If you're looking for a programming language that solves all your coding problems look no further. Now that I have abandoned Java my manually linking programs with xml skills have declined sharply. Similarly after abandoning Lisp my ability to match parenthesis's has almost vanished. No matter, with Go I perceive the universe in my belly button.