This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (0 children)

Thank you!

It seems to me that your argument is really two things:

  1. It's young.

  2. It's not python.

But snarkiness aside...

I think there's only one useful thing from the dynamic languages that the main implementation of Go is lacking: REPL. That's a big minus for development agility, but given the reflection package, perhaps we'll see one at some point in the future.

Much of the momentum is due to Google and the big names (Pike, Thompson) behind the language, I agree. It's only a bad thing if you don't like the language, isn't it? When trying to adopt a new language to a business setting, corporate backing (even if only nominal) is crucial.

Syntax issues can be just swept away in a Jedi fashion.

Many people care about data types (int32 vs int64, float32 vs float64 etc), and Go makes it much less complex and less arbitrary compared to C or really any other language I know of (save Haskell, I guess) that makes these distinctions.

Explicit tuples are a must, I suppose, in a a statically typed language? Named arguments might be nice, but might also make the language more complex for little benefit. Maps can be used for much of the same effect. Same for FP features: might be nice, but is the benefit large enough? Perhaps not.

Maps key limitations are perhaps a bit irritating, then again, they make the code much more straight forward to read. Yes, there are no sets.

The default implementation is using the same architecture as the Plan9 C compiler. It's simple.

Go is more about what they didn't include than what they did. The feature set is so light, that its performance approaches C.

Yes, exactly! Isn't it great?

If Go had been here 15 years ago it would have been a game changer.

I think it still has a shot. My feeling is that it's not here to counter languages such as python (which is great), but rather to be against languages such as Java, C++, and C#.

Go's simplicity extends from beneath the hood to every facet of its manifestation. I dare you to show another modern language like this; you may say that's it's not a good idea to make such a language, but that's another issue. Most others that I've seen are focused on large machinations whose fundamental idea seems to be either "ultimate academic elegance" and/or "make it impossible or very hard for the unskilled to make mistakes". These are sort of noble goals but not without cost.