4 ms·
Operator overloading is critical for building ergonomic frameworks. The modern web is built on overloading the . operator (e.g. ORMs like Rails and Django). We
by pphysch 3y ago
Operator overloading is critical for building ergonomic frameworks.
The modern web is built on overloading the . operator (e.g. ORMs like Rails and Django). We will never see a Tier-1 ORM in Golang simply because it lacks it.
Gamedev, AI also benefits heavily from it.
- KRAKRISMOTT 3y ago> Operator overloading is critical for building ergonomic frameworks. The modern web is built on overloading the . operator (e.g. ORMs like Rails and Django). We will never see a Tier-1 ORM in Golang simply because it lacks it. Not true. It can be replaced with codegen. See Ent (spun out of Facebook I believe) https://entgo.io/docs/getting-started https://entgo.io/docs/getting-started
- pphysch 3y agoAs I said, there won't be a Tier-1 ORM in Go. Ent or Gorm are tier-2 at best. They can get the job done, but it ain't pretty. Any advantages of Go (and there are many) are outweighed by the fact that you have to write and read 2x more code to be equally productive as Rails or Django.
- KRAKRISMOTT 3y agoYou should actually try Ent, it's about as good as commercial ORMs like Prisma.
- 65a 3y ago> We will never see a Tier-1 ORM in Golang That sounds like a good thing, having dealt with Hibernate in production. As a backend developer, I'm pretty happy with C++17 (and beyond), Go and Rust. All of them can be used in fairly explicit ways, which means debugging a problem is easy, and performance issues are right there on the page if any. I want less magic, not more.
- pphysch 3y ago> I want less magic, not more. Magic is magic until it becomes understood, then it is science. While I don't want junior programmers wielding the dark magic of operator overloading, I trust that the engineers behind Django are using it reasonably.