I would hesitate to generalize across generations. I have worked with some excellent younger developers who can take direct criticism and some terrible older developers whose ego couldn't fit through a door.
I tend to be more direct with my criticism when someone "should know better" and gentler when it's a more advanced concept for them. I've found that works well for most people.
There is a difference between a) "I don't like $x about your idea." b) "I like $y about your idea. I think you could make it even better if you do $x differently. For example like this: ..."
In my experience, older generations tend to do a) more, while younger ones do (and expect) b) more. Not a bad development IMO.
Don't get me wrong, I'm all for tact! I'm also all for explicitly stating your opinion as an opinion, which often has the effect of softening things in the way you suggest, but even that should not get in the way of actual, valid, useful criticism that isn't excessively hostile.
We baby kids (and ourselves) far too much. Everyone gets an award, everyone is a winner, no one is necessarily wrong. It's crap, absolute crap, and this kind of universal communicative pacifism is a symptom. It harms our expression by limiting it.
It also depends who is giving the criticism. Someone who has no place to be harsh shouldn't be harsh. There are plenty of ways of saying "this is beyond wrong" in a calm, fact-driven manner[2].
1) my Dad was fond of the phrase "amazed and appalled". He was amazed we thought of doing it, and appalled we actually did
2) mentors: ignorance is your problem, stupid is something else
Sounds weird to be assessing developers raised in the 1920s.
Does that give enough context?
When I worked with developers raised in the 1920s, 1930s, and 1940s, they generally wouldn't hold back when it came to criticism. If something was done wrong, or if something was a stupid idea, they'd say so very bluntly and to-the-point. They'd also be more open to receiving such criticism, and would re-evaluate their own work or ideas without a second thought. They surely wouldn't let it hurt their feelings, or anything of that sort.
Developers raised in the 1950s, 1960s and the first part of the 1970s tend to be willing to give out some harsh criticism, but I've found they're often less willing to accept it from others. They won't necessarily re-consider their ideas or work when questioned.
The trend is more pronounced with developers raised in the late 1970s and 1980s. I've generally observed them to be far less critical of the work of others, but also even less willing to accept criticism directed at their work or ideas. Some even consider criticism to be unacceptable.
Now I've started working with some developers raised during the 1990s, and their attitude is generally one of criticism being completely unacceptable. They don't necessarily think that praise is necessary all of the time, but they can often take any sort of criticism very personally.
While it may just be tied to age, experience and maturity, I'm thinking it goes beyond such things. For example, I've seen several different professional developers raised in the 1990s actually cry in the workplace when faced with valid, and actually quite muted, criticism of their work. These people were adults, over 20 years old. I'd never seen anything like it with the thousands of other developers I've worked with over the years, even ones who were of a similar age at the time, but born earlier.
I wouldn't be at all surprised if that's what we're seeing here, too. Old developers, who have a more accepting attitude toward criticism, are more than willing to dish it out and receive it back. But the youngest generation has a very different attitude toward it, seeing criticism as extremely offensive, and even pseudo-criminal in nature. While many of them do just try to avoid giving and receiving criticism altogether, I do find it kind of funny and hypocritical when the more outspoken ones openly criticize those who are critical of others.