I am I the only one who has noticed that in recent years, as PCs become highly new-user friendly, the interfaces which the programmer has to use become increasingly complex and utterly inefficient.
Earlier on this evening, I was adding an extension to an ActiveX control written in C++, each exported command required over 10 very lengthy, and very similar definitions (there were 15 more, but you could probably cope without). All in all, about 40 lines of code FOR EACH command. At a bare minimum you could do less I'm sure, but if you need all the functionality.
The interfaces for a lot of modern technologies just make one wonder - WHY?
Companies have responded by creating a whole host of wrapper technologies, such as MFC for the Windows API. But I really feel that doesn't touch the root of the problem.
Languages like DarkBASIC / VB / Delphi are very helpful in this respect, however, having so many layers of interaction cannot be efficient, even if modern PCs are so powerful.