3 ms·
My main iusses: -) A proper package manager. (no, go get is not enough. They have realized this and have a team coming up with a draft for an official one) -)
by the_duke 10y ago
My main iusses:
-) A proper package manager. (no, go get is not enough. They have realized this and have a team coming up with a draft for an official one)
-) Well written, well maintained libraries that do proper releases. There are very few of those out there. Might get better with an offical package manager and ideally package repository a la npm/crates.io
-) Generics. This will help the previous point also. Often it's hard to write proper reusable libraries due to the lack of generics. And no, they didn't keep generics out because they are to complicated for the language users. They just (quote) "didn't find a good way to implement them", and big language changes like that are out of scope before 2.0.
-) Macros probably won't ever come, but if not, please at least give us a language construct that reduces error handling boilerplate. (Rust has some nice macros for that).
- wyattjoh 10y ago> Generics I was concerned by this at first as well, but after using Go full time for the past two years, I've never found a need/use for them. Go doesn't lean towards strict OO principles, where I feel that most of the Generics uses are applied (Arrays, sorting, etc.). Not everyone's opinion, just my two cents.
- the_duke 10y agoYou only have "generic" functionality for built in types though. Arrays. (In a certain way maps and channels). That's fine if you only use those, but it makes it impossible to write generic functions for much else. See my comment about lack of libraries. I did miss them a lot. Not when writing your one off app or program, but for libraries. And you end up having to implement a lot yourself that's for free in other languages.
- zzzcpan 10y agoPromises and some other higher-order programming without generics are not really usable in Go.
- omginternets 10y agoWhy would you need, or indeed want promises in Go? Doesn't a channel/channel-select fulfill this requirement? EDIT: the answer seems to be downvote. Okay.
- the_duke 10y agoI guess you are being downvoted because the comments above have nothing to do with promises.