4 ms·
Yeah, for me Go is a specialized tool mostly for dealing with IO. The entire standard library and all of the builtin types are really designed for IO-centric ap
by wybiral 7y ago
Yeah, for me Go is a specialized tool mostly for dealing with IO. The entire standard library and all of the builtin types are really designed for IO-centric applications which is why it's a natural fit for servers/microservices. Small, narrowly defined applications that mostly coordinate via sockets and serialization and it does those things really well.
In those worlds you're more likely to move data between logical units in JSON or Protobufs (both of which Go is good for) than to need proper generics so I don't understand the push from this subset of the community.
As far as container types and data structures, look at the number of well built storage solutions that don't seem encumbered by the lack of generics at all like: boltdb, bleve, BadgerDB, InfluxDB, etc.
- 6ue7nNMEEbHcM 7y agoGenerics help with reducing of code duplication. This doesn't really depend on what you want to do exactly, more on how complex your code base is.
- haolez 7y agoWhat I really like about Go is the consistency of their tooling. gofmt, godoc, the GOPATH convention, single binary deployments. I like all of that. Maybe we could port some of those ideas to other languages so that Go programmers will feel at home :)
- pjmlp 7y agoStatic compiling, common across all OSes before it became an option alongside dynamic linking. Fast compile times, already being enjoyed by many with Turbo Pascal for MS-DOS, or Object Pascal for Mac OS, among other languages with similar support for modules. Godoc, javadoc did it first. Gofmt, indent was one of the first and every IDE has done it since ages. Other languages already have those ideas.
- InvOfSmallC 7y agoMicroservices? I'm sorry but what do you mean? Don't you use business logic in your microservice or you just do I/O without actually doing something with the input? Generics is for that part.