3 ms·
No language launches perfectly. If the cost of adding generics later is "existing code still works, and now this can work too" versus "the old version of genet
by zdragnar 3y ago
No language launches perfectly.
If the cost of adding generics later is "existing code still works, and now this can work too" versus "the old version of genetics is flawed, burn everything down and use this version instead" or "generics didn't work out the way we wanted, use this new thing that's totally-not-generics-wink-wink"...
Well, I'd say waiting is the right call. You're already used to adding three extra lines of boilerplate after every single line of code for error handling, living without generics wasn't that hard.
Hell, I recall half the go community was convinced they weren't needed at all by the time they came around.
- masklinn 3y ago> No language launches perfectly. There's a gulf between "not launching perfectly" and launching with obvious, blatant deficiencies. Go did the latter. Generics were always going to have to be implemented eventually, at least two languages in basically the space Go was targeting had had to bite that bullet in the decade before it was published. Support for third-party external dependencies only made that more dire. Instead of doing the work up-front and launching with generics, they decided to launch with ad-hoc generic builtins and "lalala can't hear you" for a decade, then finally implement half-assed generics.
- kaba0 3y agoLanguages are not created in a vacuum, or at least sane ones are not. Go failed to take into account the last 50 years of PL design, and it shows in its ridiculous number of shortcomings.