4 ms·
People still write Go applications fine without generics, and Zig is a smidge higher level than C and currently in beta. How does this disprove anything I argue
by rootlocus 5y ago
People still write Go applications fine without generics, and Zig is a smidge higher level than C and currently in beta. How does this disprove anything I argued before?
- pjmlp 5y agoAh, so now the argument moved from how delightful the authors of those languages are capable to perfectly design them, to people write code in them, got it.
- rootlocus 5y agoIt's really ironic that you're the one to play the goal post moving card, when you haven't refuted my original statement. They don't have to be "perfectly" designed, the design needs to exist. If Go didn't have a design, it would've had a half assed generics implementation, like C++ has multiple inheritance. It's precisely because generics are hard to implement right and the design constrains how much you can stretch the language that Go still doesn't have them. And it's arguably a good thing. Sorry I wasn't explicit: it's safer and easier to write the same application in Go or Zig than it is in C++, even without generics or read-after-write compile-time checks.
- pjmlp 5y agoNo my dear friend, you attack Bjarne Stroustrup, asserting he doesn't have a clue how to design a language, and then present two examples of design perfection, which have proven to actually be just as clunky. Go generics are half assed, compromised to fit into existing codebases, as it was expected they would turn out. Are you also going to argue for the beautiful design of nullable interfaces that aren't actually null? Maybe it was the clever design idea that one has to produce a compiler error to validate if a given type does support or not a specific interface. I know, modules, what a beautiful design, where the community feedback was greatly appreciated, what a lovely design it turned out to be.
- rootlocus 5y agoI didn't assert Bjarne doesn't have a clue how to design a language (and I can list features of C++ that are brilliant). I didn't provide examples of "design perfection", I provided examples of design principles I think better manage complexity. I asserted CFront was a mess of ad-hoc features implemented in a rush prioritized by personal hubris. I asserted Bjarne didn't consider how much complexity was piling up and didn't listen to critics. I've provided you with quotes from his own book supporting this. Your every reply was condescending whataboutism, my friend. Can you provide counter arguments why CFront was a beautifully thoughtfully designed language where features and complexity was considered and debated before being implemented? Because all your other arguments are just strawmen. And I would really appreciate it if you could use a language that at least tries to use a constructive tone that adds value to the debate, instead of the snarky sarcasm one-liners. I don't care much for this white horse, Bjarne defending attitude.
- pjmlp 5y agoI suppose you have reviewed the source code of Go and Zig compilers with the same attention to design quality then.
- rootlocus 5y agoI've actually watched Andrew Kelley stream implementing and designing the Zig compiler and I've been following the discussions on language features. But this is just another whataboutist strawman.