3 ms·
There are some neat things about it. Being able to retroactively distill an interface from code you do not have the source to. Sometimes I wish I could do this
by Hominem 14y ago
There are some neat things about it. Being able to retroactively distill an interface from code you do not have the source to. Sometimes I wish I could do this in c# when I mock stuff up.
Goroutines and channels are cool because they are simple to use. We have tasks in c# and I could construct channels in countless ways. But go makes them dirt simple.
I don't like the terse c-like naming conventions but that is a manner of taste. Makes it feel more close to the metal and less enterprisey I guess.
I wish there was go#
- rwj 14y agoI definitely agree with your comment about interfaces. This appears to be a concept that could be transplanted to C++, and would help quite a bit. Often in C++, people rely on template (compile-time polymorphism) because it is not possible to retroactively use interfaces (run-time polymorphism).
- deleted 14y ago[deleted]
- dsymonds 14y ago"less enterprisey" is a feature.
- Hominem 14y agoYeah I'm guessing that is why they went that direction. It really isn't any less enterprisey than anything else and we ended up with stuff like fmt.printf, who would have guessed printf is in something called fmt. Well I guess it stands for format, but is printf primarily a formatting function? It prints and the formatting is a convenience. If we are meant to use it for formatting, it is badly named.
- batista 14y agoNot really. Printf is all about "formatted printing". What you think the "f" at the end stands for and has stood for since C? If anything, its the opposite of what you say, ie the "fmt" package name is not measleading but redundant!