Hacker News new | ask | show | jobs
by __MatrixMan__ 632 days ago
I kind of like the error handling, just because it's a little bit of character from a language that otherwise seems afraid to express itself. It has succeeded in ensuring that I don't have the error case as an afterthought, even if it's ugly as sin.

But it puts me in this mode where I occasionally want to write a function which doesn't return an err, and I think it ought to be doable, because I've declared a type for this string and I happen to know it's only one of three values, but then the lack of enums means that the type checker doesn't know that it's one of those three values so I've got all this extra runtime code for checking against error cases which could've been caught at compile time.

I think you're right that the concurrency story is the key to making it feel real: go routines, channels, etc. I haven't had occasion to use those things yet though, so it's pretty bland so far. When I hear people talk about them though it seems like they'd be better served by Erlang and have just settled for Go because it's popular.