Live data from Hacker News

Learn Go in five minutes

gist.github.com

11–20 of 137 posts

Re: Learn Go in five minutes

#11

Go can be understood as an improved C that keeps much of C's simplicity but adds small, powerful features like interfaces and channels and garbage collection Go fixes C's well-understood flaws (declaration resembling use, unintuitive operator precedence, unrestricted address math, silent casting, zero-terminated strings, etc.) Go puts essential C idioms directly into the language (pointer/length is formalized as slic…

If I would have to replace C with anything, I would choose Rust and not Go.

Re: Learn Go in five minutes

#14
post #5

Go can be understood as an improved C that keeps much of C's simplicity but adds small, powerful features like interfaces and channels and garbage collection Go fixes C's well-understood flaws (declaration resembling use, unintuitive operator precedence, unrestricted address math, silent casting, zero-terminated strings, etc.) Go puts essential C idioms directly into the language (pointer/length is formalized as slic…

I like C but strongly dislike Go. They share nothing other than having a small(ish) feature set.

I agree.

Go feels like it's aimed at creating applications that run at a level above where C traditionally runs while keeping the pared down feature set of C, and it just doesn't work well imo.

I loved playing with Go, but eventually it feels like you're conditioning yourself to be ok with a lot of "bad" code. Tons of repetition, tons of boilerplate by other names.

It's like the simplicity gets in the way of itself.

-

My take is, use Go for a bit, take the "less is more" mentality with you to a language more suited for real work.

ps: I'm not saying you can't use Go for real work before someone flies at me. I'm just saying that Go's strength is the mentality people have when using it, as a language it's not particularly enabling, and that's by design if anything...

Re: Learn Go in five minutes

#15
My 2 cents without seeming harsh with the author.

Articles with a title `Learn in 5 minutes` are misleading. They should be renamed `Discover in 5 minutes`. Replace the verb Discover by Introduce or something similar if you like.

There is a lot of difference between learning a new programming language and discovering one.

You will not learn any programming language in 5 minutes.

This introduction to Go is quite nice, though.

Re: Learn Go in five minutes

#16

Go can be understood as an improved C that keeps much of C's simplicity but adds small, powerful features like interfaces and channels and garbage collection Go fixes C's well-understood flaws (declaration resembling use, unintuitive operator precedence, unrestricted address math, silent casting, zero-terminated strings, etc.) Go puts essential C idioms directly into the language (pointer/length is formalized as slic…

[deleted]

Re: Learn Go in five minutes

#17

Is there something like this for Golang API development, that also incorporates best practices? Even a solid book recommendation would be helpful.

The repository and structure is free here, but I highly recommend the actual course for API development, which is not free but very valuable.

https://github.com/ardanlabs/service

Re: Learn Go in five minutes

#18
post #5

Earlier quoted context omitted.

I like C but strongly dislike Go. They share nothing other than having a small(ish) feature set.

I agree. Go feels like it's aimed at creating applications that run at a level above where C traditionally runs while keeping the pared down feature set of C, and it just doesn't work well imo. I loved playing with Go, but eventually it feels like you're conditioning yourself to be ok with a lot of "bad" code. Tons of repetition, tons of boilerplate by other names. It's like the simplicity gets in the way of itself.…

Meanwhile the place I work writes all microservices in go and all of my team's (DevOps) tools are also written in go...

Re: Learn Go in five minutes

#19

Go can be understood as an improved C that keeps much of C's simplicity but adds small, powerful features like interfaces and channels and garbage collection Go fixes C's well-understood flaws (declaration resembling use, unintuitive operator precedence, unrestricted address math, silent casting, zero-terminated strings, etc.) Go puts essential C idioms directly into the language (pointer/length is formalized as slic…

I like C but I would prefer Rust over Go. Go may be simple but I really hate using conventions like init(), comments working like syntax, captial letter means published etc.

Re: Learn Go in five minutes

#20

Go can be understood as an improved C that keeps much of C's simplicity but adds small, powerful features like interfaces and channels and garbage collection Go fixes C's well-understood flaws (declaration resembling use, unintuitive operator precedence, unrestricted address math, silent casting, zero-terminated strings, etc.) Go puts essential C idioms directly into the language (pointer/length is formalized as slic…

My main small day-to-day usability gripes with C are lack of type inference, lack of destructors and terrible ergonomics for error handling. Go solves two out of three, but it really dropped the ball hard on error handling which is very disappointing IMO.

Things like generics and garbage collection involve some deep tradeoffs, so I get Go's take on them, even if I don't necessarily agree with it. On the other hand IMHO Go's crappy error handling boilerplate is not something I find acceptable in a modern programming language.

Post reply on HN