3 ms·
>I strongly reject the criticisms that Go is meant for "mediocre" programmers I don't know how else to describe people who don't resent being second-class citi
by prodigal_erik 10y ago
>I strongly reject the criticisms that Go is meant for "mediocre" programmers
I don't know how else to describe people who don't resent being second-class citizens under the library designers, who don't insist on being able to create their own abstractions and use them with the operators that slices or maps support. The language has extensible interfaces but doesn't use them for things like iteration and equality.
- chimeracoder 10y ago> I don't know how else to describe people who don't resent being second-class citizens under the library designers... One suggestion: describe them as "people who have a different opinion than I do", rather than automatically concluding that anyone who doesn't feel the same way as you do about something must be "mediocre". There are popular languages that I can't stand writing, and languages that I think are badly designed, but I would never be tempted to say that those languages are "for mediocre programmers" just because they don't have the attributes that I look for. As a polyglot, I can definitively say that every language in widespread use is "missing" something in its design that, at first glance, would be glaringly obvious to someone who's used to a different language. If anything, the sign of a good programmer (as opposed to a mediocre one) is the ability to conceptualize why a language might be successful despite (or even because of) this apparent "flaw".
- coldtea 10y ago>One suggestion: describe them as "people who have a different opinion than I do" Some "different opinions" are just different opinions, other "different opinions" do indeed point to mediocre programmers. I'm not saying that is the case with Go: just that what you wrote is orthogonal. One can have a different opinion that is NOT to be respected, but dismissed. Not everything is equally valid.
- prodigal_erik 10y ago"How do I iterate over a slice?" "for...range." "How do I iterate over my own type?" "The hard way." "What interface can I implement to make for...range work?" "You can't. Our types are important enough to support properly, yours aren't." As a programmer I expect more than that, and I don't respect people who meekly agree that creating types is properly left to their betters.