But it's fundamentally an open-source project. The only funding from Google comes in the form of paying some of the members' salaries. That's it.
I think the interest in Go has been increasing with or without Google's name tacked on to it, honestly.
Otherwise, you might as well say that the only interest in Rust is because it's funded by Mozilla?
> Otherwise, you might as well say that the only interest in Rust is because it's funded by Mozilla?
Of course some interest in Rust is because it's funded by Mozilla, but the difference is the only there.
Go and Rust differ in that Rust actually builds upon the last few decades of programming language research and takes a good shot at solving some real-world problems. It occupies the same space as C/C++ but solves many issues that plague both languages. You could explain Rust's popularity by association with Mozilla, but you could also explain its popularity by the fact that it's actually a pretty interesting, well-designed language.
Meanwhile Go is neither low-level enough to be useful for performance/memory intensive work nor does it provide reasonable features to compete with higher level languages. It solves some very Google-specific problems (compilation time? If compilation time is an issue for you, it's much more probable that you've done something wrong than that you need a faster-compiling language). And to do that it gives up features which make it inappropriate for almost every project (I don't even want to hear about how you don't need generics--if you're creating empty interfaces you should be using a dynamically typed language and if you're using `go generate` you should go back to 1980 and rediscover why type-unaware code generation is fucking terrible idea). Literally every feature in Go is done better in languages that existed before. Go brings literally no innovation to the table (if you say that Go has a new way to do threading my head will explode). And Go doesn't even include most of the innovations of the last few decades of language design. It's literally decades behind. Given that, I can think of no explanation for its popularity except its association with Google. There's simply nothing it has going for it except hype.
And yet it doesn't matter, because PL research is so broken, that it fails to provide us with even basic understanding on how people write code.
p.s. Your hatred of Go is kind of funny to this outsider. I may be just a stupid coder w/o a CS degree but spent a couple of decades in the trenches. Since a superior language would naturally eliminate the puny offerings of Go, I await your wisdom in the language that will save me and other mindless drones from futile coding. Please enlighten me with the language that will save me from this programming plague.
...which is also true of numerous alternatives to Go.
> p.s. Your hatred of Go is kind of funny to this outsider. I may be just a stupid coder w/o a CS degree but spent a couple of decades in the trenches. Since a superior language would naturally eliminate the puny offerings of Go, I await your wisdom in the language that will save me and other mindless drones from futile coding. Please enlighten me with the language that will save me from this programming plague.
Yes that's very witty.
I don't believe there's one true language--if I have a choice of languages I choose the one I feel is most appropriate to the job.
However, I would like to see the industry move forward. I want to be able to find work with better programming languages. I'd love to see Rust replace C/C++ in spaces where performance, memory, size, etc. are priorities. I'd love to see one of the handful of higher-performance scripting languages that have come about in the last few years gain the maturity and library support that Ruby and Python have. Seeing Go become popular is frustrating because it's a step back, not a step forward. If the industry goes in that direction, it will affect the industry negatively, but it will also affect me negatively. And if you're still working in the industry it will affect you negatively too, so I'm not sure why you think it's funny.
The industry goes where the shiny workable solutions are, and you haven't offered up any.
Yes, it's hard to choose the right language, but Go doesn't solve that. It just throws a shitty tool into the mix.
For the situations where you need moderately high performance but don't need manual memory management (which is where people seem to be using Go) I'd look at Lua or Julia. Both support the same threading model as Go and comparable performance, with the option to optimize in C. But unlike Go, which provides neither the safety of a reasonable static type system nor the convenience of a dynamic type system, they choose dynamic types. They also both have pretty good library support and active communities.
If you want something low-level like C, there really aren't better options. Objective-C is worth considering, but it still has a lot of C baggage. C++ is just far too complicated a language with too many dark corners; I can't really stomach it any more. Rust is still bleeding edge, but it might be worth the risk of having to change code later to use it. Yes, I realize I'm not providing a solid solution here, but let's be clear: neither are you. Go is not a solution to this problem.
If you want something high-level like Python, you really can't do much better than just doing Python. Racket might be worth consideration--I don't have enough experience in it to tell yet. Ruby is okay too. I don't think this space suffers from a lack of solutions. If you need a little more performance you might look at Clojure.
Not only that, but there's less than 6 people probably in Google who work "full time" on it. For the vast majority of other Google employees it's a "20%" project. More and more of the pie is being worked on by the community, not the core Google team.
I know you hate Go, I realize that, but other people like it, and it's not because "The Great and Almighty Google" is shoving it down our throats?
I hate PHP with a passion for example, but I don't think there's a vast conspiracy to see it still being pushed around?