As someone who streams ATC and recently moved up from Tower to Approach / Departure, I can attest, as the streamer / controller in that situation it can be a really tough line to walk.
I don't know whether I'm one you've seen. I do make an effort to be conscious of new folks and their knowledge gaps. In fact I've long been one of the network's most vocal proponents for and providers of pilot training resources. But sometimes "in the heat of the moment" it can be hard. This past Monday I was working the APP/DEP sector around BWI and I had one in particular who, when told to Line Up and Wait, began rolling down the runway. I didn't notice until I was watching the arrival come in on the crossing and saw him heading for the intersection. When I reminded him what he'd been instructed, I was probably not very friendly. But I also did not call him "stupid" or "goober."
There was one who (a) descended below the lowest altitude on his STAR, then when he got to the end of it, (b) turned from the last point toward the final approach course instead of maintaining the published heading. After a VERY gentle reminder about (a), he mumbled some apology in response. After a firmer admonition about (b) because he was turning without a vector, he disconnected. Again, I probably wasn't as nice after (b) than I was after (a), but I didn't call him any names.
Then finally was the one who departed and immediately turned northeast, when the SID dictated Runway Heading (155). I said "your departure calls for runway heading until vectored. but it doesn't look like you're going to {first waypoint} either. say intentions?" he replied, "to fly to {destination}." I said -- "were you going to go via the route you filed and got cleared on, or just direct, or what?" and he disconnected. again, I don't think I called him a name, but I'm sure he could tell by the tone of my question that I was definitely calling him out on his error.
Like Malcolm says, when it's busy -- or, even when it's not that busy but it's "the heat of the moment" like I said -- "excuse me dear {callsign} but you are doing {x} when you were instructed {y}" is not as straightforward as it seems like it could or should be. I do NOT think it should be tolerated to call someone a derogatory name for a mistake, but, I do NOT think it's reasonable to expect the controller to be all smiles and reassuring pats on the back after one either.