Been programming in .Net for quite a while now.
As the days pass by i become more and more convinced that anyone who wishes to something other than the run of the mill stuff shouln't program in .Net.
Whenever i wish to do something which is not obvious in .Net i go to god(read google) just to find out that the thing which i want to do can only be achieved by some windows api calls.
All microsoft has done in .Net is to make a few advanced methods so the programmer can save a few lines of code. Like making a httpwebrequest class so that the programmer didn't have to deal with sockets at all. Those thing are good and make a lot of sense but one thing that they forgot is that i need all of the power of the native languages even when programming in C#.
Like if go about making a windows explorer like listview which has all the grouping and stuff.
I simply can't. Though they have provided a listview built in but for the grouping functionality u hav to go through the api calls. If a programmer is able to have that functionality anyway why not built it in .Net in the first place?
If you go about making a full app in .Net with a few advanced UI elements and stuff thrown in u simply won't be able to do that in pure .Net. In the end all you will be doing is searching the net for the correct api call. Or go to a forum and wait for a geek who has 2-3 yrs of experience in com programming to answer your question.
Whatever i've said i'm sure folks at MS know it already.
It's been like this all this while and it's not gonna change.
They make each component 3 times - once for the OS, another advanced one for their office apps and one crappy version for visual studio. They will give the developers enough power just to lag behind their apps.
And look at times bill gates has mentioned developers and partners in his latest leaked memo. I wouldn't be surprized if that memo was meant only to be "leaked".