Everyone complains that Java has their inconsistencies and then points in .NET direction and says that it is so much greater, and less inconsistencies. Somehow I can understand that java has a few of those as it has evolved since the middle of the 90's to what we have today. But I can not understand how .NET can have those as it has only evolved in the last few years.
But today, I found one inconsistency that I thought was very strange. This is a very minor inconsistency, but as the two events has been developed at the same time it makes it much worse. These two events must been under development at the same time and it has probably been developed by the same team or perhaps the same people (imaging the horror).
On the Form class there are two events, to notify listeners that a Form/Window has received focus/lost focus. There are two events which can be subscribed upon:
Notice the difference, one is past tense and the other one isn't. C'mon these two events must have been developed at the same time, but somehow they screwed up anyhow. The more I look at the Windows.Forms API, the lesser I think of it. There are so many bad decisions in it, so many rushed things. But of course it is only a small API on top of the windows API, and they can only do so much with it.
Strange, that Sun managed to a dynamic, layout managed GUI like Swing with the same APIs. It makes you think on who hired the right guys....