@ashfurrow In the first one, you can overload visit() all three times and polymorphism will work fine.
Most of the time, the only problem with Java is uneducated kids and consultants using it badly.
@mdhughes I have a difficult time judging people for not yet having internalized such a bizarre thing as a “programming language.”
@ashfurrow The problem is a kid's learned one hammer so that's all they apply to every problem. And the industry hires young inexperienced kids because they're cheap. And then none of our software works worth a shit.
Consultants are worse, because they should know better, but don't bother.
@ashfurrow I do call everyone under 30 "kids". It's very hard to distinguish them from this far side of the event horizon.
I mostly quit Java in 2008, but still maintain a few tools and it keeps those circuits active in my memory.
@mdhughes Aren't your interactions with junior developers then constrained by looking at them as children?
I learn a lot from the juniors I work with, and even in areas where I _am_ an expert, I consider newcomers to be peers.
@ashfurrow If they've specialized in something new, they might have had time to develop one useful skill, but generally the "kids" are literally where I was 2-3 decades ago.
I'm OK with teaching them, as long as I have time, but wouldn't trust their checkins without review.
I also don't have to collaborate a lot, just solve customer problems (often created and left behind by juniors) or work on my own things. If I had to be in a giant corporate machine again that'd be a different social problem.