Actually, pinning Gnome to the.NET development concept is an outstanding idea, and will benefit Linux (and open source in general) in spectacular fashion should it succeed. It is RMS who is "braindead".
The "shifting sands" argument used by many OSS zealots is entirely without merit. Microsoft has engineered.NET to be the ultimate backwards/ cross-platform compatabilty platform, so much so that they could break it even if they wanted to. This is due to the fact that the entire.NET platform is designed to run side-by-side with itself. IE,.NET SDK v1.0, 1.3, and 2.1 may run on the same box, each serving different pieces of client code.
Want backwards compatability? Microsoft has gone so far as to cripple its own software for backwards compatability. FYI, the intended replacement for Windows 3.1 was Windows NT 4.0, not Windows 95. Microsoft made huge sacrifices in terms of performance, stability, security, etc. in Windows 9x in order to keep Win32 compatable with DOS/ Win16. There is really no reason for MS to distribute what could arguably be considered a successor/ alternative to Win32 and then break it simply because someone else implemented the standard it is based on. What the hell would they say to their (massive) user base?
And as for the "lineage" of.NET, it's more like: C, C++, DDE, RPC, OLE, COM, DCOM, COM+,.NET. It is an evolutionary extention of object oriented programming, driven by industry titans such as Bell Labs (C, UNIX), HP (STL), and IBM (DDE, OLE, OS/2).
Damn, the boys in Redmond aren't even pausing for breath. Instead, they are racing forward in their effort to push.NET, and once again, they are using Windows as the lever.
The entity known as Microsoft, is rapidly taking over the Internet, and they may already be unstoppable. This year, they will probably ship more server class operating systems than all other OS vendors combined.
Ladies and gentlemen, consider, if you will, this equation, and know the chosen weapon of Microsoft:
Windows NT (2000/XP/Whatever) +.NET + Passport + Broadband =.NET Service Cloud
Think of it this way: from the perspective of your desktop machhine, the internet is the cloud. From any other device, your desktop is in the cloud. A primary goal of.NET is to provide "in the cloud" data access from anywhere.
Most slashdotters have assumed that MS would somehow host and serve all that data, but why should they? Exactly how many desktops are out there? Soon, at least nine out of ten will run a server OS from Microsoft. With a database core. And native p2p. And an Internet services platform.
It looks like home users will soon, and perhaps unkowingly, be using the likes of.NET File Server,.NET Print Server, etc to access data from their own PC's transparently. Brilliant idea. The bastards...
Hopefully, the dot-com bust has also taught us the price of arrogance and conceit.
One of the biggest misconceptions of the dot-com era was that 'old economy' giants were sluggish, unreponsive, and most certainly 'tech challenged'. The founder of one dot-com start-up suggested to me that his online discount store was going to thrash Wal-Mart.
Man, did that guy need to be viscously beaten about the head with a clue-stick.:)
In reality, Wal-Mart owes nearly all of their incredible success to early IT adoption. In fact, Wal-Mart is about as wired a company as you will find, and those 'old economy' types have widely recognized Wallyville as having the best high-tech inventory management system in existence. And that was *before* the Internet buzz even started.
I used to wonder why mags such as Wired, Business 2.0, and Red Herring assumed that companies that had:
Physical stores
Impressive market capitalization
Prized brand names
Profits
etc.
would simply roll over and die in the face of internet startups with a web site and a few million borrowed dollars. Now, I just chalk it up to hype and ego. Lesson learned.
I don't see the 'wine' approach ever becoming glitch-free enough to be useful. Try win4lin [netraverse.com] - it runs just about every useful windows app I need to run (office & quicken work perfectly). The only downside is you need to have a copy of windows 98. Btw win4lin is much faster than vmware.
Excellent point.
The real problem with the 'wine' approach is that support for Windows apps will never be realized by simply porting win32 to Linux:
Threading:
Windows is based on threads, while UNIX is based on pipes. The different methodolgies are somewhat incompatable. Witness Apache 2.0 for Windows is not a UNIX->win32 port.
COM and.NET
COM is a binary compatability standard, not an API. No amount of work on win32 will help in making COM run..NET is based heavily on COM (among other things) and is also not supported by win32.
Alas, I dont see COM being successfully implemented by the WINE crew, simply because it is too dificult to do without help from MS. Just as an example, COM+ uses generic interception for language independent wrapping of interface calls; definitly not a project for the timid.
To make long story short - it's based on Debian Woody, it got Xandros (previously Corel) nice file manager, and it got a special version of wine which can install Office 2000 very nicely including Explorer 5.0
You can't install Explorer 5.0 or 5.5 seperated - the process fails after download. You cannot install Windows Media Player 7.1 since it's saying "unsupported OS" and Windows Media 6.4 simply thinks the URL's are wrong.
So, WINE for Lindows supports the COM runtime (sucessfully implementing ActiveX Controls, namely IE), and doesn't (Office 97 and XP should run just fine if IE does, since COM is supported)?
Does anyone remember the lawsuit against DOW-Corning involving silicone breast implants?
(For those of you unfamilar, DOW-C was forced into bankruptcy by a class action lawsuit filed on behalf of women 'seriously harmed' by beast implants. After months of media coverage of the health risk of the implants, a study by the AMA completely debunked the notion that the devices were harmful.)
If you do, this kind of story will come as no surprise. The media has always had a kind of fetish for junk science (and similar garbage). You probably won't see much from the media if this device is proven to be crap (near certainty).
Certainly, no one in the media (except John Stossel, after the trial) bothered to say anything about the DOW-Corning case.
Also, don't hold your breath expecting for verification (or anything else) of even remotely scientific topics by the media. They can't even reconcile stories that they run.
For example, during the 2000 presidential campaign, there were a lot of stories on the detrimental effects of Mexican wildfires on the air quality of Texas, while at the same time the media was covering claims that Texas had the worst air quality in the US due to petrochemical emissions. Uh, well, which is it?
"...you shall not distribute the REDISTRIBUTABLE COMPONENT in conjunction with any Publicly Available Software. "Publicly Available Software" means each of (i) any software that contains, or is derived in any manner (in whole or in part) from, any software that is distributed as free software, open source software (e.g. Linux) or similar licensing or distribution models... Publicly Available Software includes, without limitation, software licensed or distributed under any of the following licenses or distribution models, or licenses or distribution models similar to any of the following: GNU's General Public License (GPL) or Lesser/Library GPL (LGPL); The Artistic License (e.g., PERL); the Mozilla Public License; the Netscape Public License; the Sun Community Source License (SCSL);..."
This and other similar EULAs severely limit the potential for software makers to build Open Source software which is compatible with, or which makes legitimate use of, Microsoft tools.
You are complaining that Microsoft does not allow you to distribute their software as open source?! What exactly gives you the idea that distributing closed-source software as open source software is legitimate?
[sarcasm]
Wow, I guess if it weren't for all that unfair EULA crap, we could write a program using the MS Platform SDK and GPL Windows itself. Finally, it would be legal to reverse engineer NT 5.5 from the binaries. After all, it is free software, right?
WTF indeed! Java applications have both! Ever hear of the java.io package?
Of course. For use, as you point out, in Java applications (and not applets). To be honest, though, while I have seen many an attempt to create cross-platform apps with Java, I have yet to see a major success. [Huge disclaimer: I am not a Java guy, I work with C++]
Java is infinitely preferable to C#+CLR, simply because there is no platform lockin, or vendor lockin (you can get great JVMs from IBM, for instance).
Read my post again. C# does not suffer vendor lock in (or platform lock in).
I'll start seriously considering C#+CLR when the Mono runtime exceeds the performance of Linux JVMs on the same box. I expect that to happen...never.;-)
Wow! Looks like never is going to come around pretty quickly. Have faith in Mono... the boys from Xiamian are pretty sharp, not to mention that the CLR (CLI now, forgot) is compiled to native code (.NET Beta 2 CLI is faster than the MS JVM - arguably the fastest in existence).
Given that most Slashdotters seem to have no real knowledge (certainly Jamie does not) of Microsoft's ultimate goal with.NET, here it is in a way that you can understand:
Microsoft wants you to be able to check your office e-mail account from any device you can get your hands on.
It's really that simple folks. (More or less)
To address the question directly, MS knows that allowing "in the cloud" access to user data won't happen if WinTel is the only player, and have developed the CLR to:
Be OS and hardware independent:
Do you really think MS would put together a deal asking Corel to create a "Linux.NET" distro if MS wanted to keep a lock on the platform?
Be language independent:
After all, I can't really imagine the/. crowd bending over backwards to learn VB so that they can support.NET for Linux...
Bullet-proof Windows:
Hey, combine the ease of interpreted language programming (VB) with the power of binary exxecution (C++), while ending "DLL Hell" and keeping idiots from using CreateThread() in their VC code (always use _beginthreadex(), btw).
Add performance to other MS products:
Microsoft SQL Server.NET will use the CLR for queries instead of T-SQL... not only will you be able to write queries in any CLR-supported language, they will all JIT to binaries. Ahh, the speed of C++ extensions with almost no effort...
(MS to ORACLE: all your bases are belong to us!)
As for MS producing hardware... WTF? With Intel working (lol) on IA64, why would MS be worried about harware companies driving Windows? And for the unaware, virtually no video card fully supports DX 7, let alone DX8. Who is driving whom?
And finally, what is this FUD concerning "total control"? MS has no plans to get rid of Win32/64.
The only runtime I know of that takes control away from developers was created by Sun Microsystems.
(Java is a replacement for C/C++, and doesn't have an equivalent to iostream.h?! No local file access?! WTF!)
And if Sun had 90+% market share, they would be just as bad as Microsoft, maybe worse.
If and when Microsoft is toppled from its throne (and I sincerely hope it happens soon) there will be another company waiting to take its place, no doubt -- and it's entirely possible that one of the companies I mentioned above will be it. (Probably not; it will probably be someone we either don't know about or aren't particularly afraid of... like Microsoft itself was in the days of IBM dominance. Maybe Red Hat?)
Actually, Sun is already guilty of an attempt to monopolize the Internet. After all, what do you think Java was designed for?
The "shifting sands" argument used by many OSS zealots is entirely without merit. Microsoft has engineered
Want backwards compatability? Microsoft has gone so far as to cripple its own software for backwards compatability. FYI, the intended replacement for Windows 3.1 was Windows NT 4.0, not Windows 95. Microsoft made huge sacrifices in terms of performance, stability, security, etc. in Windows 9x in order to keep Win32 compatable with DOS/ Win16. There is really no reason for MS to distribute what could arguably be considered a successor/ alternative to Win32 and then break it simply because someone else implemented the standard it is based on. What the hell would they say to their (massive) user base?
And as for the "lineage" of
The entity known as Microsoft, is rapidly taking over the Internet, and they may already be unstoppable. This year, they will probably ship more server class operating systems than all other OS vendors combined.
Ladies and gentlemen, consider, if you will, this equation, and know the chosen weapon of Microsoft:
Think of it this way: from the perspective of your desktop machhine, the internet is the cloud. From any other device, your desktop is in the cloud. A primary goal of .NET is to provide "in the cloud" data access from anywhere.
Most slashdotters have assumed that MS would somehow host and serve all that data, but why should they? Exactly how many desktops are out there? Soon, at least nine out of ten will run a server OS from Microsoft. With a database core. And native p2p. And an Internet services platform.
It looks like home users will soon, and perhaps unkowingly, be using the likes of .NET File Server, .NET Print Server, etc to access data from their own PC's transparently. Brilliant idea. The bastards...
One of the biggest misconceptions of the dot-com era was that 'old economy' giants were sluggish, unreponsive, and most certainly 'tech challenged'. The founder of one dot-com start-up suggested to me that his online discount store was going to thrash Wal-Mart.
Man, did that guy need to be viscously beaten about the head with a clue-stick. :)
In reality, Wal-Mart owes nearly all of their incredible success to early IT adoption. In fact, Wal-Mart is about as wired a company as you will find, and those 'old economy' types have widely recognized Wallyville as having the best high-tech inventory management system in existence. And that was *before* the Internet buzz even started.
I used to wonder why mags such as Wired, Business 2.0, and Red Herring assumed that companies that had:
- Physical stores
- Impressive market capitalization
- Prized brand names
- Profits
- etc.
would simply roll over and die in the face of internet startups with a web site and a few million borrowed dollars. Now, I just chalk it up to hype and ego. Lesson learned.Excellent point.
The real problem with the 'wine' approach is that support for Windows apps will never be realized by simply porting win32 to Linux:
Threading:
Windows is based on threads, while UNIX is based on pipes. The different methodolgies are somewhat incompatable. Witness Apache 2.0 for Windows is not a UNIX->win32 port.
COM and .NET .NET is based heavily on COM (among other things) and is also not supported by win32.
COM is a binary compatability standard, not an API. No amount of work on win32 will help in making COM run.
Alas, I dont see COM being successfully implemented by the WINE crew, simply because it is too dificult to do without help from MS. Just as an example, COM+ uses generic interception for language independent wrapping of interface calls; definitly not a project for the timid.
So, WINE for Lindows supports the COM runtime (sucessfully implementing ActiveX Controls, namely IE), and doesn't (Office 97 and XP should run just fine if IE does, since COM is supported)?
Pardon me, but this sounds like bullshit.
Thanks for clearing up the point. My bad...
(For those of you unfamilar, DOW-C was forced into bankruptcy by a class action lawsuit filed on behalf of women 'seriously harmed' by beast implants. After months of media coverage of the health risk of the implants, a study by the AMA completely debunked the notion that the devices were harmful.)
If you do, this kind of story will come as no surprise. The media has always had a kind of fetish for junk science (and similar garbage). You probably won't see much from the media if this device is proven to be crap (near certainty).
Certainly, no one in the media (except John Stossel, after the trial) bothered to say anything about the DOW-Corning case.
Also, don't hold your breath expecting for verification (or anything else) of even remotely scientific topics by the media. They can't even reconcile stories that they run.
For example, during the 2000 presidential campaign, there were a lot of stories on the detrimental effects of Mexican wildfires on the air quality of Texas, while at the same time the media was covering claims that Texas had the worst air quality in the US due to petrochemical emissions. Uh, well, which is it?
You are complaining that Microsoft does not allow you to distribute their software as open source?! What exactly gives you the idea that distributing closed-source software as open source software is legitimate?
[sarcasm]
Wow, I guess if it weren't for all that unfair EULA crap, we could write a program using the MS Platform SDK and GPL Windows itself. Finally, it would be legal to reverse engineer NT 5.5 from the binaries. After all, it is free software, right?
[/sarcasm]
Get real.
Of course. For use, as you point out, in Java applications (and not applets). To be honest, though, while I have seen many an attempt to create cross-platform apps with Java, I have yet to see a major success. [Huge disclaimer: I am not a Java guy, I work with C++]
Java is infinitely preferable to C#+CLR, simply because there is no platform lockin, or vendor lockin (you can get great JVMs from IBM, for instance).
Read my post again. C# does not suffer vendor lock in (or platform lock in).
I'll start seriously considering C#+CLR when the Mono runtime exceeds the performance of Linux JVMs on the same box. I expect that to happen...never. ;-)
Wow! Looks like never is going to come around pretty quickly. Have faith in Mono... the boys from Xiamian are pretty sharp, not to mention that the CLR (CLI now, forgot) is compiled to native code (.NET Beta 2 CLI is faster than the MS JVM - arguably the fastest in existence).
Given that most Slashdotters seem to have no real knowledge (certainly Jamie does not) of Microsoft's ultimate goal with .NET, here it is in a way that you can understand:
It's really that simple folks. (More or less)
To address the question directly, MS knows that allowing "in the cloud" access to user data won't happen if WinTel is the only player, and have developed the CLR to:
Be OS and hardware independent:
Do you really think MS would put together a deal asking Corel to create a "Linux.NET" distro if MS wanted to keep a lock on the platform?
Be language independent: /. crowd bending over backwards to learn VB so that they can support .NET for Linux...
After all, I can't really imagine the
Bullet-proof Windows:
Hey, combine the ease of interpreted language programming (VB) with the power of binary exxecution (C++), while ending "DLL Hell" and keeping idiots from using CreateThread() in their VC code (always use _beginthreadex(), btw).
Add performance to other MS products:
Microsoft SQL Server.NET will use the CLR for queries instead of T-SQL... not only will you be able to write queries in any CLR-supported language, they will all JIT to binaries. Ahh, the speed of C++ extensions with almost no effort... (MS to ORACLE: all your bases are belong to us!)
As for MS producing hardware... WTF? With Intel working (lol) on IA64, why would MS be worried about harware companies driving Windows? And for the unaware, virtually no video card fully supports DX 7, let alone DX8. Who is driving whom?
And finally, what is this FUD concerning "total control"? MS has no plans to get rid of Win32/64. The only runtime I know of that takes control away from developers was created by Sun Microsystems.
(Java is a replacement for C/C++, and doesn't have an equivalent to iostream.h?! No local file access?! WTF!)
If and when Microsoft is toppled from its throne (and I sincerely hope it happens soon) there will be another company waiting to take its place, no doubt -- and it's entirely possible that one of the companies I mentioned above will be it. (Probably not; it will probably be someone we either don't know about or aren't particularly afraid of ... like Microsoft itself was in the days of IBM dominance. Maybe Red Hat?)
Actually, Sun is already guilty of an attempt to monopolize the Internet. After all, what do you think Java was designed for?
For those unfamiliar with .NET assemblies, here's a little tip for wanna-be virus writers:
All .NET assemblies are digitally signed. The sig is put together by the complier and is guaranteed to be unique across space and time (ala a GUID).
So, if you write a virus and release it into the wild, keep in mind that you might as well have 'GUILTY AS CHARGED' stamped on your forehead.