11 ms·
> he expected the language to be adopted by C++ programmers, a prediction that hasn’t been realised I respect go (and its runtime) a lot, but one little thing
by herf 8y ago
> he expected the language to be adopted by C++ programmers, a prediction that hasn’t been realised
I respect go (and its runtime) a lot, but one little thing keeps me from using it: the reverse "argument type" ordering (backwards from C++) makes me avoid it. If this were the only language I used, it would be easy, but when switching back and forth, does anyone else find it hard to do?
- abvdasker 8y agoMy job requires switching between Go and Java occasionally. While I think Go is slightly more natural, it definitely adds cognitive overhead when going back to Java. But that additional overhead is nothing compared to the rampant and indecipherable stringing together of Guava futures in my company's Java codebases.
- fiddlerwoaroof 8y agoThe newer jvm languages (particularly thinking of Kotlin and Scala) though, generally are type-second languages.
- creatornator 8y agoThis is one of the easier things to get used to-- I don't find "code switching" between syntaxes to be difficult at all, especially if you are already looking at a codebase and can visually copy what's already there. It even makes some sense, if you read it as "variable foo is a bar".
- nicoburns 8y agoMost newer languages are like this: Go, TypeScript, Rust, Swift, Kotlin, Scala, Nim, etc. Admittedly most of these languages use a colon like `name: type` rather than plain `name type`, which helps readability a lot IMO. But you would unlock a lot of languages if you are able to get used to this style. Personally I find the `type name` style confusing. It's ok for variables, but it's super-confusing for function definitions where most language use a dedicated keyword (`function`, `fun`, `fn`, `def`, etc).