49 ms·
I feel like I might be the only person in the world who isn't excited about this language. I don't like the verbose c-style syntax. The examples that I've se
by bradford 17y ago
I feel like I might be the only person in the world who isn't excited about this language.
I don't like the verbose c-style syntax. The examples that I've seen don't have the clarity that I've come to expect from functional programming languages like haskell.
To me, the language feels like a c/c++ that has better language features for dealing with shared state and concurrency. That's nice, but it's just not enough to get me stoked about learning it.
I'll maintain an open mind, though.
- BigZaphod 17y agoI agree with your assessment and share it myself. What gets me is the "I'll keep an open mind" type of comments I see attached to criticism of the language. I don't mean that as a dig against you personally, but what I mean is that a lot of people who admit they don't like the language still feel obligated to add a similar phrase to their statements - which I think is entirely because this came out of Google and has a couple classic rockstars behind it. If it were introduced by an unknown research student or hobbyist, it'd have been dismissed and declared dead from the very start and that'd have been the end of it. (I admit that I also was influenced by this. I saw the initial specs, some examples, and immediately thought, "this seems... pointless." But I dug in deeper because of the reputations involved. My opinion hasn't really changed, but I gave it a lot more attention than I would have otherwise because of these factors.) The reason this bugs me is that there's a lot of interesting research out there in the languages world. It shows up on HN pretty frequently, but it never really spills beyond places like here because people have no trouble dismissing or ignoring new ideas immediately when they come from "strangers." I guess I don't have a big point here, just that it's unfortunate that this is likely going to result in a huge uptake of Go when other viable systems language alternatives have existed for, in some cases, decades but seem doomed to be ignored just because there wasn't a big name attached.
- nkurz 17y agoWhat gets me is the "I'll keep an open mind" type of comments I think the 'open mind' is indeed the correct attitude here. If a very experienced programmer with stellar credentials comes along and says 'this is a good solution to the problems I've faced in my career', I'm inclined to listen very patiently even if my first impressions are negative. This doesn't mean that you are wrong about the syntax, but perhaps there is something useful below the surface that's worth digging to discover. Maybe the right solution will be blend of a modern bracket-free syntax and the guts of something like Go. For me, the syntax isn't really that important. Probably this is just due to my brain damage from coping with C.
- jpr 17y agoI think that after they add some sort of generics, ie. parametric polymorphism, the language is semantically quite close to a modern ML-style language like OCaml, but with a syntax familiar to C hackers and a native support for concurrency.
- abecedarius 17y agoConcurrent ML exists already, with typed synchronous channels, etc., very much like what I've read of Go. http://en.wikipedia.org/wiki/Concurrent_ML http://en.wikipedia.org/wiki/Concurrent_ML http://www.amazon.com/Concurrent-Programming-ML-John-Reppy/dp/0521480892 http://www.amazon.com/Concurrent-Programming-ML-John-Reppy/d...
- jpr 17y agoI pretty much thought the same thing. Then I came to the conclusion that if it succeeds in its performance goals (10-20% slower than C), it has a good chance of being the language of choice for those hackers that now use C for everything, even when using C means that some memory leak or buffer overflow is likely to going to cause a security flaw in the future. If things like web- and mail servers were implemented in a Go instead of C, many security related bugs in those applications might go away.
- sketerpot 17y agoWhen I read through the documentation, the overwhelming impression I got is that this is a replacement for C in systems programming. It has the advantages of C, but with a lot of warts cleaned up, nice concurrency support, much safer pointers and arrays, and a lot of general pleasantness. I've been doing a lot of programming in C, not by my own choosing, and I would love to be able to do it in Go instead, because Go addressed the most painful aspects of C without losing the efficiency or the simplicity. Yes, I prefer Python and Lisp and sometimes even weird stuff like Haskell for most programming. But Go has a niche, and in that niche it is a breath of fresh air.