- Namespace system strongly favours single-word names
- Type embedding allows for single-dot access (not this.path.is.long())
- Zero-elements allow for elegant, zero-line initialization and existance checks, alleviating in part the need safe navigatorion operators.
Also I'd argue that the lack of map and filter are programmer nudges towards more elegant, compact solutions, but that's hard to prove. I've been annoyed with the lack of standard ways of doing things as well, but most often it turned out that I was simply doing it wrong, and Go was carefully designed to make the wrong way annoying to use. The compactness doesn't stem from using fewer lines to express simple constructs like if else, but the overall code organisation and structure that are the result of nudges like this one, as well as the code encapsulation they use (no classes, but interfaces and structs) and acyclic dependencies.
Generics will come out with the next version, though.
> No map or filter functions (meaning you have to implement these in like 5-6 lines of code)
I like that Go doesnt have these. Many programmers seem to want these big bloated programming languages. So thats what you end up with, a bunch of slow bloated programming languages. Personally I just want something like C, but with a couple of minimal extra features (maps, built in package management, bounds checking). For me, Go is the closest thing I have found to C, without many of the C pitfalls.
> Golang relies on built-in generator comments to help alleviate all of the typing.
I have been programming Go for a few years, and I have like one file in all of my code that uses a generator comment. That file is to interface with the Windows API. Regarding pure Go code, I dont use generator comments at all, so I think this comment is overblown.
itake|4 years ago
- No Safe navigator: require 4 lines of code
- No ternary support: require 6 lines of code
- No map or filter functions (meaning you have to implement these in like 5-6 lines of code)
- Golang relies on built-in generator comments to help alleviate all of the typing.
Groxx|4 years ago
It's not as verbose as Enterprise⢠Java, but hurdling that competition-height limbo-bar doesn't make something compact.
posix86|4 years ago
- Namespace system strongly favours single-word names
- Type embedding allows for single-dot access (not this.path.is.long())
- Zero-elements allow for elegant, zero-line initialization and existance checks, alleviating in part the need safe navigatorion operators.
Also I'd argue that the lack of map and filter are programmer nudges towards more elegant, compact solutions, but that's hard to prove. I've been annoyed with the lack of standard ways of doing things as well, but most often it turned out that I was simply doing it wrong, and Go was carefully designed to make the wrong way annoying to use. The compactness doesn't stem from using fewer lines to express simple constructs like if else, but the overall code organisation and structure that are the result of nudges like this one, as well as the code encapsulation they use (no classes, but interfaces and structs) and acyclic dependencies.
Generics will come out with the next version, though.
svnpenn|4 years ago
> No ternary support: require 6 lines of code
> No map or filter functions (meaning you have to implement these in like 5-6 lines of code)
I like that Go doesnt have these. Many programmers seem to want these big bloated programming languages. So thats what you end up with, a bunch of slow bloated programming languages. Personally I just want something like C, but with a couple of minimal extra features (maps, built in package management, bounds checking). For me, Go is the closest thing I have found to C, without many of the C pitfalls.
> Golang relies on built-in generator comments to help alleviate all of the typing.
I have been programming Go for a few years, and I have like one file in all of my code that uses a generator comment. That file is to interface with the Windows API. Regarding pure Go code, I dont use generator comments at all, so I think this comment is overblown.
Thaxll|4 years ago
No ternary support: require 6 lines of code
I'm glad Go does not have those, it makes the code less readable. It's only useful for simple operation and very often chained and abused.
unknown|4 years ago
[deleted]