9 ms·
Serious question. Does Go really have anything unique going for it, apart from the fact that it comes from Google? I have yet to see a convincing argument why
by trezor 15y ago
Serious question. Does Go really have anything unique going for it, apart from the fact that it comes from Google?
I have yet to see a convincing argument why I should choose Google's little (and relatively immature) language over anything else and I'm very close to assuming this thing is pure hype and has nothing actual newsworthy. Ofcourse, as always I'd love to be proved wrong.
- limmeau 15y agoIt occupies a sweet spot on at least two axes: 1. Procedural -- OO (with its interface subtyping resembling Haskell type classes with default instances for every type) 2. Languages without safe automatic memory management -- languages with an explicit VM Occupying sweet spots is usually opposed to having radically unique features.
- chrisjsmith 15y agoIt's as easy and as expressive as python, nearly as fast as C and less complicated than both. That's good enough in my book.
- bfung 15y agonearly as fast as C not quite; using comparisons from the The Computer Language Benchmarks Game [http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php?gpp=on&gcc=on&java=on&ghc=on&csharp=on&go=on&racket=on&python3=on&yarv=on&calc=chart http://shootout.alioth.debian.org/u32/which-programming-lang...], Go is currently (in general) slower than C++ gnu g++, C gnu gcc, Java 6 -server, Haskell GHC, C# mono, just to name a few. Sure, it's not a definitive view, but it's better than code not run and compared.
- uriel 15y agoGo's compilers are still very young and do almost no optimizations. Also, the 32bit compilers are specially bad as they are not really used by most of the Go developers, the 64bit compilers do much better as you can see here: http://shootout.alioth.debian.org/u64/which-programming-languages-are-fastest.php http://shootout.alioth.debian.org/u64/which-programming-lang...
- limmeau 15y agoThere is also gccgo, which uses (and profits from) the gcc backend.
- chrisjsmith 15y agoIs closer in performance to C than to Python more acceptable?
- igouy 15y agoFor you, is 2.12 seconds nearly as fast as 1.77 seconds? For 5 of those 10 tasks, the measurements on x64 show a C program less than twice as fast as a Go program. http://shootout.alioth.debian.org/u64q/compare.php?lang=go http://shootout.alioth.debian.org/u64q/compare.php?lang=go Could it be that those C programs were more highly optimised by the C programmers? http://shootout.alioth.debian.org/u64q/program.php?test=spectralnorm&lang=gcc&id=4 http://shootout.alioth.debian.org/u64q/program.php?test=spec... http://shootout.alioth.debian.org/u64q/program.php?test=spectralnorm&lang=go&id=3 http://shootout.alioth.debian.org/u64q/program.php?test=spec...
- sigzero 15y agoIt's not "as easy" as Python and "expressive" is hard to measure.
- chrisjsmith 15y agoIt's all down to opinion. This is all IMHO. I've found Python to be quite obtuse at times, particularly with the notion that it's sometimes functional and sometimes not. (Consider generators being promoted and map being demoted by Guido for not being 'pythonic'). Expressiveness is hard to measure I agree, but I find enough utility in Go to perform the same amount of work in a roughly equivalent number of keypresses. That's my metric.
- dchest 15y agoSerious question would be "Does Go have anything unique going for it, and why should I choose it?" without insults.
- rbanffy 15y agoNo semicolons at the end of lines. For me, that's a killer feature ;-) Now, seriously, it has some nice constructs like goroutines and channels. Go check http://golang.org/doc/effective_go.html http://golang.org/doc/effective_go.html
- dchest 15y agoYep, I now often forget to put semicolons when writing JavaScript or C :-) I was rephrasing the parent question.
- evangineer 15y ago+1 on the goroutines and channels. Go is best used for creating scalable, highly concurrent, performant network servers. That's its sweet spot & the reason why Google can justify the R&D investment in it. It's a better language for building key pieces of their infrastructure. The Heroku guys have seen this & used Go to build their own clone of Google's Chubby service called Doozer.
- uriel 15y agoThere are a couple of things unique to Go (interfaces for example, while similar to things in other languages are still quite unique). But that is not (and should not be) the point of the language, it is not about how many features it has, but about the right and very careful selection of features and how they interact with each other. Or as others have said ( http://go-lang.cat-v.org/quotes http://go-lang.cat-v.org/quotes ) "Go is not meant to innovate programming theory. It’s meant to innovate programming practice."
- EdiX 15y agoHow many unique features does python have? Unique features in programming languages are rare and often unwelcome (cf. perl's references).
- michaelcampbell 15y agoTo be fair, the poster didn't ask what features it had that made it unique, he asked if it had "anything" going for it that made it unique.