I'm talking about programming language compatibility This is not a problem isolated to MS
This is not isolated to MS, but as a Microsoft programmer for the past 7 years I've been using wide variety of programming models provided by Microsoft. COM is the only real common denominator of Microsoft. It is great technology yet to hard to get right. COM is in the foundation of all Microsoft products (including Windows and .NET) and it look like it is here to stay.
I've never wrote production product using Java, yet, I know that they take much more care on keeping old code from breaking. Just look at the amount of directives added to each .NET language, look at the implementation of generics in .NET which break exists code.
The foundations on which Microsoft built it's product are out-of-date.
What do you mean by that?
I mean that the file system, drivers (which change drastically each release of new OS), graphic system have not change much since 2000 and even then they were not so great.
Window is _Graphical_ user interface, yet the most graphic thing is picture here and there.
WPF change that by allowing animation and composition of UI, but the core GDI is still obsolete. I know that Vista has great window manager which works with DirectX, but friend of my bought computer 1 year ago, Core 2 Duo, 2 GB of DDR3, Fast HD, GeForce 8000 series and the computer take about 800 MB when you just turn it on, if she open Messenger and PhotoShop in the same time the computer stop respond and just go "ding" on everything you click.
If a turn-over is needed then do it, but they try to stay compatible and move forward at the same time and it doesn't seem to be working.
WinFS sound like good idea, but not so good implementation.
You are the few who thinks WinFS is a good idea.
Hierarchical folder structure is what we know, but it is clearly not the best.
If you have photo of you during Christmas, where do you put it? In My Photos or in Christmas Photos? Neither answer will be right because it should be in both.
With WinFS Microsoft want to change it, and change is hard, even when it for the best.
DirectX is getting better, still not as good as OpenGL.
Can you provide details on what you mean by this?
Picture worth thousand words right? Play with a Mac OS for a while and get the feeling of what it mean to have desktop which work using OpenGL. You need to experience it to understand. Then open Activity Monitor and watch that WindowServer take 30-70 MB or real memory (not 500MB-1GB like vista does).
Microsoft security model (UAC) is really bad copy of Apple security model (let's just ask the user for password each click on the mouse!).
UAC is not a security model. It's a cover-your-ass model.
You just made my point. Microsoft took their security to far.
They should reconsider it, I understand that Windows 7 take a step back, we'll see.
That's why you need 4GB to run 2 IE and 1 mspaint windows in Vista.
Can you point to some reference for the above fact?
As I wrote before, I experience it first hand.
I'm running Windwos XP (sp3) on my MacBook and it works great, much better than vista does.
-----
I'm not here to bash Microsoft. There are a lot of great products and programming platforms.
I didn't know anything about Apple and Mac unit a friend start to show me all the great things they have.
Mac is not perfect either. Mac can crash too, it not what I'm looking for "a perfect system" is doesn't exists.
The great thing about Mac is that their 20 years old ideas are still valid today, and they keep them up-to-date.
I'll tell you another thing about me. I bought iPhone about year back. After using it for a while I realized that it just fun (yep fun) to use it. I'm very technical guy, for all I care the phone could be all ASCII, I just want it to dial and receive calls, but after using the iPhone I understand how important it is that system will be fun to use.
Another thing is to mention the good things Microsoft have.
Office for a start, and I write in Hebrew, there is no other application to write Hebrew documents like Microsoft Office.
WPF and WCF are great frameworks from Microsoft. I'm using them right now to develop application and WPF is productive and fun and the same time.
Power Shell (Monad) is the best thing they manage to create ever. It is the one thing that beat Unix. The idea to pass objects instead of text between commands (CmdLet) is wonderful and they should get all the credit for it.
Think about it.