Google Go Capturing Developer Interest 434
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?
Re:"many developers are so intrigued" (Score:5, Informative)
"Proprietary"? No, open source [golang.org]
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.
Re:Name (Score:5, Informative)
Re:"many developers are so intrigued" (Score:0, Informative)
At least Java's main benefit was portability. Afaik from what I read, Google Go is only known to have a fast compile time..
Re:Alternatives? (Score:4, Informative)
Scala.
Pros:
Built on a mature, polished platform (Java)
Nice language syntax
Functionalish constructs are available
Great parallel framework (actors) along with the functional aspects
Cons:
No native AOT support
IDE support is still newish
Re:Alternatives? (Score:2, Informative)
erlang has parallelism much more in the core of the language.
Re:No multi-dimensional arrays (Score:3, Informative)
Re:No multi-dimensional arrays (Score:3, Informative)
Re:already invented? (Score:4, Informative)
How do you make a concurrent process in D? Perl? Ruby? C? Lisp?
Go actually provides a usable, platform independent method of concurrent programming that doesn't involve mucking about with pthreads, or constants like &MMDIPS_MULTICORE_AGG. You just call "go func()" and a new process is spawned.
Re:No multi-dimensional arrays (Score:3, Informative)
And this is most funny because C *does* actually have multi-dimensional arrays (at least statically sized ones).
C99 has non-statically-allocated (albeit still non-resizeable) arrays, including multi-dimensional ones.
Re:"many developers are so intrigued" (Score:3, Informative)
One of the portability issues that I've encountered is that in Linux Java will repeat both KeyPressed and KeyReleased events when a key is held down, but on Windows it repeats only the KeyPressed, which makes it very difficult to work out when a key has physically been released on Linux.
Re:Bright future to go. (Score:3, Informative)
I think when they're saying "systems" they really mean stuff like network servers, etc. I guess that is systems code so it's fair up to that point. But, unlike C, it's not suitable for *all* systems-level code (low level libraries, kernel stuff, embedded stuff), which seems a shame. So they're overreaching the language's scope somewhat there ...
Re:who's using it? (Score:3, Informative)
C# was developed as a reaction to Java. They were trying to make a language with Java's features but without its warts. I'm sure it is easier than Java for many things.
Ruby and Python were both developed as reactions to Perl (again: all the features, sans the warts). Python tried to be easy for beginner programmers (and was successful; it's taught in many intro classes). Ruby tried to be easy to experienced programmers. If you're trying to to real OOP, you will find no easier syntax than Ruby's.
So, at least in some ways, both those languages are "easier."
Re:"many developers are so intrigued" (Score:3, Informative)
Can I get some sense of how you determined that Go was proprietary, then?
I don't think it's reasonable to call any language proprietary whose spec is licensed under CC-A [golang.org] and managed by an open team outside of the company. That's really hard to back up, and I'd need some kind of source for that.
C# it ain't.
Re:"many developers are so intrigued" (Score:3, Informative)
Oh - I so agree.
Java is portable on Windows & Solaris (haven't used Java on Linux, so no idea).
Most other OS's you will get 90% of your stuff working. But chasing down the
remaining 10% OS specific issues will take 90% of your time.
Re:"many developers are so intrigued" (Score:1, Informative)
In COBOL's heyday, PL/I was more commonly used as a systems programming language, not straight up assembly.
Re:"many developers are so intrigued" (Score:3, Informative)
I agree. Sounds like his python code is responsible for most of the climate issues we have :o)