Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> GO syntax is so hard to look at.

What do you mean by “hard”?

I find Rust syntax challenging to grasp in a specific way. Rust employs numerous symbols and expressions to convey statements, which makes reading Rust code a process of constantly navigating between different keywords, left and right. I have to create a mental map of what certain statements are accomplishing before I can truly comprehend the code.

In contrast, I find Go code relatively straightforward, especially for those familiar with C-like programming languages. This clarity is due to the deliberate verbosity of the language, which I personally appreciate, as well as the use of early return statements.

But don’t get me wrong. I enjoy programming in both Rust and Go when they are suitable for the task at hand, but I usually spend more time grappling with Rust’s syntax than with Go’s, because I often invest more time in understanding the structure and logic of Rust programs compared to their Go counterparts.



At least part of the issue for me was that many keywords/syntax rules don’t match anything I’m familiar with, even considering “C-like” languages.

I have similar issues with Rust actually. There’s a lot of sugar used that you have to grok and that takes some time.

On the other hand Python, C#, Java all stick with a set of fairly familiar conventions. In terms of syntax (and only syntax), the learning curve is more intense with Go; perhaps similar to the initial alienation provided by JavaScript.

My experience has been that once you are being paid to learn a language these problems mostly disappear. Alas, no one ever paid me to learn Go.


I guess it depends on the way the brain works. I have very bad memory, but I prefer the expressiveness of Rust to the verbosity of Go. I value much more having the whole context on the screen that navigating countless words of boilerplate code. I do agree that it gets a bit of getting used to, but I find it easier to recognize by eye.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: