Microsoft's CLR - Providing a Break from HW Vendors?
"It seems to me that once the CLR has matured enough, there won't be a need for Microsoft to wait for others to innovate on the hardware front and start offering its own hardware (and charge whatever it wants for it) to go with future versions of Windows.Net. Worst still, 99.99% of the population will not be able to say no to this strategy since they'll have no choice but continue using the Windows monopoly in order to run their favorite apps."
Jamie comments: I don't think it's about hardware innovation, or beating Java. It's about absolute control.
The big money over the next decade will be in transforming the computer into an entertainment device. AOL Time-Warner sees a computer as a revenue producer, with the unfortunate ability to copy digital works. They and the other five media giants want to put a stop to it; Microsoft and Intel will find it very profitable to help them.
One good step along the way is to give the computer a common interpreted language to run everything. We're there already. And when developers have to code to a virtual machine, not the actual bare iron, then whoever writes the virtual machine holds all the cards. And since the authors of the virtual machine will make a lot of money by enforcing intellectual property rights, the arms races are all over: copy protection is absolute, DeCSS won't compile, unauthorized MP3s won't play.
Of course developers rarely write on the bare metal anyway: we write to APIs, we write scripts, we write code that doesn't (need to) run in the CPU's supervisor mode. We're used to surrendering the ultimate control over the machine to the operating system, or to be more precise, to the BIOS that decides how and which operating system to run.
If we surrender this control, though, we'll find ourselves with a monopoly operating system that makes it impossible freely to write code for. (And it's not hard to cut off Linux and every other rogue free OS at the knees. The day that every motherboard's BIOS uses strong crypto to demand the master boot record be signed with a secret key known only to Microsoft is the day that Linux becomes a thing of the past.)
Naturally, to prevent you from firing up GCC and doing a rogue compilation of DeCSS or Lame or other unauthorized code, the operating system will have to stop you from running anything that isn't written in its language for its virtual machine. Requiring code to be signed by a central authority will make its first appearance as virus-prevention but its real purpose too will be control. Universities will be able to buy special licensed exemptions, at least until corporations decide universities are hotbeds of piracy and theft. At which point your alma mater begins teaching Computer Science 101 (and 201, and 301, and 401) in C#.
My prediction is that, unless antitrust legislation in the U.S. gets some teeth between now and then, the PC will become a Gameboy within fifteen years. Enjoy computers while they last.
While I absolutely despise the approach Microsoft takes toward software development, I can safely say they won't ever get "absolute control" over it. Yeah, they're big, they're rich, they're formidable, but they're also bumbling and very error-prone, as we all know from leaked e-mails, virus reports, etc.
The worst thing I see happening is a sort of class society, with Microsoft developing code for its circle of businesses, and everybody else in a sort of underground. Black market code, if you will. I very seriously doubt that things will come to, say, Microsoft getting the USGovt to pass a law forbidding software development by unlicensed, uncertified developers, and then fixing the game so only Microsoft developers can be easily certified.
Lately democracy seems to be based on the skybox, the Happy Meal box, the X-box, and the idiot box.
Running Windows under a VM is probably the best way for Micro$oft to ensure that Windows will get slower as hardware gets faster.
Bus isn't that about what the WinNT HAL was supposed to do? It *did* facilitate porting to Alpha, MIPS, and PowerPC as well as the expected x86 architectures. (That is, until MS decided they didn't want to support more than one architecture.)
I assume a lof of that capability is still around under the hood. The old NT way of porting required a recompile, with an intermediary code step (like java's JVM language) it shouldn't really be too hard for MS to implement.
± 29 dB
Why is control of the only layer that makes a difference evil when done by M$oft but innovative when done by Sun and Netscape?
(Java, the browser as a platform (see Judge Jackson's findings of fact) I have to admit that M$ is not being so obvious of their intentions, if that is what they are.
Why design new hardware-independent platforms? Instead, big companies should try to hold each other's hands and use the existing ones, and improve them. Few good standards can't hurt anybody, can they?
;)). Although, as witnessed, Java is a bit too slow, even for a simple Office application (my Linux dual Celeron with 256 megs swap all the time with StarOffice). Well, atleast they would get the usability issues fixed!
Alas; the fight for power seems to distract big companies from thinking consumers' (and their customers') best. Instead, they all stare at their own navels.
I just wish this huge gap between Sun and Microsoft wouldn't exist, and they would work in cooperation to develop something like Java-Windows (huh, what a totally pervert thought, actually
__
Zarathustra.fi
Modern man has no goal, no aim, no ideals.
Getting all languages to link does not need an interpreted pseudomachine infrastructure. All it takes is a calling standard that the compilers all use and an object language that allows things to be linked. VMS has had this for decades. It is convenient, but hardly revolutionary for Microsoft to finally be doing something that VMS was doing in 1976, and is doing still on the world's (arguably) fastest iron (Alpha).
The calling standard approach gives NO slowdown, and reduces code entropy slightly. I would be amazed if Microsoft used an interpretive approach, since that typically costs orders of magnitude in speed, and their code bloat already penalizes them grossly.
1. Who spends more money? Businesses or consumers? Businesses. Why the hell would MS want to transform a device for doing work into an entertainment machine? It just doesn't make sense. Think of it this way: Businesses buy pens, not crayons. I bet you see a lot more pens sold.
2. The CLR is just a collection of library code that developers can use or choose not to use. Think STL for many different languages. Already the CLR has support for many languages.
3. An evil empire built by Microsoft does not really benefit them in the long run. Microsoft is in the business of making money, not taking over the world.
I would expect to see a story with FUD like this in the Weekly World News next to Bat Boy's latest adventure, not in a respectable technical publication.
Why does everyone have to see the evil in whatever MS does?? True, they have done some evil things in the past, but can't people see that the CLR is part of an effort to accelerate interoperability of software that we developers will be creating in the future, regardless of what language it's written in?
I'm tired of reading about how everything M$ does is evil...they are a corporation, and they have their best interests in mind, just like other corporations(i.e. Sun). Let's stop focusing on the negatives and start focusing on the positives, like the fact that MS and Sun have done alot to work together to further the standardizion of the SOAP protocol!
Attention all planets of the Solar Federation! We have assumed control! - Neil Peart
When I was in high school, we were spec'ing out Alphas for the school file servers. The problem with the Alphas? No software. You could only buy them as File and Print servers.
J++ looked like it was going to change things. If you wrote Java code, it would in theory, run anywhere. If you wrote J++ code, it would run on any Windows. Given the Windows Everywhere initiatives (the separate NT, Windows, and WinCE lines), J++ would have given Microsoft that platform independance.
MS wanted to split from Intel years ago. Everyone thought that Intel was dead after the Pentium. RISC processors were blowing them away, and Intel's CISC ISA was holding them back.
Well, Intel figured out how to build a RISC processor with a hardware decoder, Windows NT took off faster than expected, the 64-bit Alpha version never shipped, and now MS/Intel split a HUGE monopoly.
This gives their Windows Everywhere initiative some teeth. They are pushing Win32 APIs everywhere, but you need to code differently for the Xbox, Win32, or WinCE. Sure the APIs are the same, but not the compiled version.
The CLR means that Windows is Windows, and Windows code will run there.
Look at UNIX, there has been decent source compatibility, but no binary compatibility (until the recent Linux emulation everywhere). Outside of software distributed in source form, nobody supports every Unix, just the 1-3 that are profitable for them.
Source compatibility helps, but isn't enough. The CLR gives a form of binary compatibility.
Sun could have had this market with Java, but they fucked up. We'll see what happens.
MS won't be able to do that without a major compatibility break, and they've just barely thrown off (or started to throw off) DOS. Their grip on the upgrade cycle has already started to loosen with Windows XP. You're acting as if MS will break into your house and force you, at gunpoint, to install XP 3.0. Don't be stupid.
And you can always get a Mac or something.
Eventually the CLR will replace Microsoft's platform revenue stream.
Right now they get a nice chunk of money every time somebody buys a PC. Windows is one of the most expensive components of a desktop computer.
If you look far enough down the road, Linux on the desktop is a reality. So they know that the OS monopoly is coming to an end. It is time to start getting a new monopoly ready to take its place.
They will ride this gravy train as long as they can, and then they will concede the OS market and start charging the same per-computer tax for the CLR. They won't care what OS is running underneath it. The OS will become a low-margin commodity, and they may even just starting giving Windows away for free. The profit margins will simply be relocated upward to a higher layer of this new and thicker notion of a platform.
BTW, don't even think about suggesting that Java will win because it was here first. Java is to the CLR as Lotus-1-2-3 was to Excel. Some people innovate. Other people specialize in refinement and broad market penetration.
Eric Sink
Software Craftsman
People are always assuming MS is going to pull some crazy crap using its monopoly power.
It does of course, but nothing like what Jamie is thinking. Whenever it does try something bizarre, like making MSN only work with IE, people call them on it. And they stop.
And if they pulled something like this, they'd have to. The DOJ isn't going to sign off its case without some sort of oversight.
And I think the oversight committee might have a problem with
"Proposal 1A: Drop support for any PC that's capable of booting a non-MS OS."
These stupid ideas only serve to make the real ones look silly.
Why should Jamie get to post moderation free, Katzian garbage like this? Put it in a comment like everyone else.
.
Let's not stir that bag of worms...
Depite what MS try to said, .net platorm is exactly the same as the Java platform.
.net is that it does not deal of the wide platform spectrum that Java already have : cf. JavaCard, J2ME, J2SE, J2SE, ....
;)
.net has manage to do yet is to fully legitimate Java and help the wide acceptance on server side (and recently the restart of the client-side) ! Just because you do not have to do the evangelism jsut because MS done it.
.net come from the fact that MS is pretty in late about 4year. Just thingk, .net is two year old project (named cool) and is not even yet at final state. Benchmark are forbidden and unofficialbench shows that it si dog-slow and thread crash sensitive.
...) they've tried to force user migration to complete new platform.
... and with full object programming technics and polymorphism ?
.net is nothing new and just a funny thing without any real inovative stuffs inside but toys features.
the C# language is pretty the same as the Java language, the
Even if there are little difference these are insigifiant ones.
People with good Java skills and that also have experience on MS.net can confirm all my statements.
The problem of
MS already done a standard process to ECMA for C# and the core IL, but *forget* to standardize the APIs
In other words, MS can change the APIs without notification and break any compatibility without breaking any standard !
What
The problem with
HAving trashcan'ed all their legacy technologies (DNA, MTS, DCOM?, VB
How a VB user will react with no more goto's, fim's var's,
This is a plain ne world and thinking of a sleek migration is either stupid or idiot.
My forecasting on MS.net is that it will never take of from 20% share within the next 5 years. In worst case (if MS never manage to fixe issues on VS.NET and MSIL) MS could just simply from shares and never skyrocketeer at all.
Anyway for a Java user
I've actually been thinking about all of this (especially in relationship to Microsofts .NET) and it makes sense. With Windows finally approaching a 'coming of age' (hmmm) they are manouvering themselves into a very marketable position. Suffice to say I think .NET and SOAP applications together with the CLR will succeed where java failed in many respects - Microsoft have taken their time with .NET and ensured that they have services and languages that take full advantage of a lot content distribution.
:)
At the same time this can be a sad thing given MS's track record of snuffing out ANY competition with ruthless business tactics. Given the fact that there should be more healthy competition in the computing market place I still however look forward to having a shot at CLR/.NET content delivery (ducks bricks..)
Considering their movement into the home market with XBox and other soon to be released peripherals (think WinCE mobile phones and to a certain extent: "Content delivery anywhere, on any device" a la "Antitrust". If they are the communications vehicle for Fox/AOL/Time Warner/Sony (you name it) they place themselves in an incredibly lucrative position and the framework libraries are absolutely priceless for quick and easy movement of content.
The CLR has a lot more to do with this strategy than a generic java clone - I'm sure its the content delivery mechanism for ruling the subscriptions of the future. Mind you the content will probably be served from Linux/FreeBSD with Apache/PostgreSQL!! - only way to guarantee good uptime
Does this mean that Mono is now a force for good, protecting us from the Powers of Darkness getting absolute control, or are the still vile traitors helping the Beast conquer the world?
It's very plausible that the CLR is how MS plans to insure it's monopoly in what's becoming the commoditization of the operating system and the diversification of computing platforms (set top box, PDA, cell phone, etc..). Java and Linux run on just about anything, that is: Linux running on about any hardware, and Java running on about any operating system. MS usually "get's it" and twists "it" to their advantage. It doesn't surprise me that they would "get" WORA as well as the fact that their OS needs to run on diverse hardware. Think back to Shared Source, or any other good idea that MS took and bastardized for their own use. People that think MS will obsolete themselves forget that MS is not what IBM was. MS has hoards of cash; lots of savvy, aggressive, very bright business people; and an army of programmers. If they "get" anything they have all the resources they need available to them to capitalize on it. If you think the gov't is going to actually do anything to stop them, get real.
This is why I keep repeating the fact that us Free Software and Open Source hackers need to stop following MS and others, and jump ahead. Why didn't Gnome or KDE leap ahead in terms of UI like (arguably) OSX and XP have? Because we were to busy copying Windows and UNIX. I'll get flammed for this but, why must Linux be so UNIX like? It's a kernel, the rest of the OS could become anything we dream up. Why aren't we setting the pace and doing the innovating? Why not dream up an entirely new set of operating system metaphors?
Stop following, start leading.
Choose? M$ doesn't give you a choice.
3. An evil empire built by Microsoft does not really benefit them in the long run. Microsoft is in the business of making money, not taking over the world.
No, they don't want to 'take over the world' they want to take over the OS, computer, consumer device, media and content, media and content delivery, media protection, and Internet business[es]. Bill Gates' dream is to have you buying everything from them except groceries.
See the above point I made. They are in the business of making money by taking your choices away.
Get your Unix fortune now!
Java would have been godsend for Microsoft, addressing all these problems, but they didn't control it and it would have given people not only hardware independence but also Microsoft independence.
Technically, there are no significant differences between the CLR and the JVM. The CLR isn't any more or less powerful than the JVM, it won't run much faster or slower, and it won't be any easier or harder to implement. You already have Java compilers for the CLR, and you will see C# compilers for the JVM soon. But Microsoft controls the evolution of the CLR, and that is what matters to them. While Microsoft will probably implement the ECMA standard, they will extend the CLR and libraries in numerous proprietary ways, and that will give them exactly the control they want.
1. They already have the consumer market.
2. How many people ran NT on a different architecture? Sun just stopped supporting Solaris on x86 and I bet a lot more people used that.
3. I'll give you that.
Microsoft didn't stop shipping the MIPS version of NT until EVERY SINGLE maker of MIPS clones stopped production (Netpower was one of the last holdouts).
Nobody bought the computers, so the makers stopped making them, so MS stopped producing the OS. Seems reasonable. Why develop an OS for hardware that is no longer being produced.
(and please - don't bring up SGI. NT never ran on SGI's MIPS boxes. SGI had no interest/desire in that).
Alpha effectively died when Digital/Compaq indicated that they wouldn't be willing to put any effort into maintaining that port.
Correct me if I'm wrong, but PPC and SPARC versions of NT never shipped --- though the dev headers are full of PPC #ifdefs
This is just wrong. Hardware is hardware and has no idea what seqences of instructions do. They execute an instruction, then another, then another. You put your code in memory and feed the CPU the address of the code. You can always go under the operating system (stick in a boot disk that loads the OS on top of something else). There's no way a machine could block "illegal code".
Now, maybe a chip that only executes signed bytecode could do something like this. But then development would be essentially impossible and there would be no programs for that achitecture (and if you give developers the private key, it will be public in seconds; hell I'd do it!!).
My other car is first.
Company Money = MS Office
MS Office = MS Windows
MS Windows = MS Hardware
Microsoft currently has driver signing, which menas they will soon if not already, decide which hardware will, and which hardware will not run on your system. By them controlling which hardware can run on the OS, Microsoft can influence the decisions of hardware manufacturers on what to produce.
Lets say there is the CD Bruners from the Ukraine that does not stamp id's on them. Ok, microsoft could see this driver as not allowed. Any driver installed that supports this directly or as a surrogate will need it to be verified before being installed.
How does this effect you? The same reason why Compaq is selling the Alpha off; If it doesn't supprot windows, how can we make money off it?
Bye!
2's the big thing. Why should we use something when Microsoft controls the implementation, anyway? That's just standing still on the carpet waiting to get it yanked out from under you.
CLR is actually a nice technology, but it seems to me using open-source implentations of it are the only way to go if you're going to use it. They did at least submit the important material to ECMA.
DNA just wants to be free...
Their browser team has gone all native on them, then. As long as the Mozilla browser is open source and free for anyone to take and adopt, it doesn't matter diddly/squat what AOL tries to enforce in the Netscape browser suite.
AOL is another matter, and they certainly do have a tighter rein on things in their walled garden, but they have done nothing to prevent the rest of us from living happily on the outside yet.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
Well, there isn't a huge company with a monopoly on operating systems trying to squash it.
Free Java games for your phone: Tontie, Sokoban
1. Full-power, expensive operating systems become a niche market and more consumer-oriented targeted platforms on the level of TiVo or Palm become the norm. Microsoft and Apple have a big advantage in this scenario due to their code bases, and you would see a market of 3-5 manufacturers of appliances including MS and Apple.
2. General purpose operating systems based on free software become the norm for home use, opening the field to many competitors with an eventual shakeout to who knows who. Advantage: PC makers.
3. Microsoft lowers its OEM pricing for the Windows environment and provides it through a Reasonable And Non-Discriminatory licensing scheme with multiple distribution companies who resell it to home PC manufacturers. Ironically, this is one of the proposed Justice settlement schemes before Bush gave the farm away. Some or most of the current PC manufacturers survive in this scenario and microsoft becomes like a utility: profitable and boring.
personal attacks hurt, especially when deserved
I'm a disgrunted MCSE that didn't like the early retirement of the NT 4.0 certification. We were under the impression that it would last until the NT 6.0 certification process, but that didn't happen. I don't like Microsoft.
HOWEVER.
They do play games (Windows isn't done until 1-2-3 won't run, the DR-DOS Win3.1 beta fake error, etc.), but less often then you think. Half the games that they play stem from the fact that their employees don't look outside the Microsoft bubble.
Though I can't find it now, on MSN's Canadian Xbox page, they claimed that it was the first console to support 4 players. This is a company that is SO huge that adventuring to the rest of the tech world involves looking at other divisions. When they break standards, half the time I doubt they realize it. When they do things based upon their bastardized standard in another program, they may not realize it.
It's a large company, they can't act as a single mind despite what Slashdot thinks.
Alex
OB Hardware Q: What good would a Linux BIOS do? Could someone write/draw one in the linux community? Would it enhance the Linux capabilities, perhaps even encouraging a unified GUI? Just perhaps to make one last, desparate attempt to compete with the dragon on it's own terms before it swallows the world?
The CLR also incorporates some other innovative features - the ability link packages based on the signature of that package, not the package name, allowing side by side execution.
Also, the CLR is closely tied to the .Net framework, which is far ahead of the Java class library as you may mix and match classes across various languages. Note this does not mean you can just compile different languages to the CLR, but reuse code at runtime from code written in other languages.
Frankly the rest of the comments here are rants, I don't think many readers here understand the .Net platform.
Huh? No, this is Slashdot...
Pedro Côrte-Real.
What does their lack of backwards compatibility have to do with anything?
Is it a ploy to make money? Of course it is.
Does it really matter? No, you can set Word to save to Word 95 format and you won't lose anything important. You can even download a free 2000 viewer if you want, and cut and paste into Word 95.
Would MS provide these things if they were a crazy, unrestricted monopoly that would do anything to grab cash? No, they'd encrypt
MS is like some inkblot where everyone can project their own little "gotta stand up to the man", "slippery slope" fantasy world view.
Want to fight MS? Help make Linux good. Quit whining.
.
Let's not stir that bag of worms...
The way I see it, the reason M$ has such a strong hold on the desktop, is that everybody waits till M$ get it right and then try to reimpliment it.
The stratigy I propose is just too jump the gun on M$ and give the people INOVATION. But if only it were that easy. We really need to unify all open source OfficeSuits to allow a common format for data exchange, to break the hold that Word, etc have on the desktop. Among many other things.
But most of all, why not a Multi Platform runtime standard for Linux/*BSD/BeOS. The execuitable is only compiled to a CLR, and make DLL's for windows that will auto convert the CLR to use the native M$ gui, and libs for GNOME and KDE, to do the same.
The desired end result, would be to write a App/Game on my PS2 running Linux and be able to run it on on my Dreamcast running *BSD, or even dare I say it, my mothers P166 running win95.
Not till then do I feel that the desktop will be more open to Linux. If their software runs just as well under a Free, Secure platform called Linux, what need will they have to buy the Propirety, Virus-writer-friendly OS called Windows.
We could then work unitedly on one or two Word processers, that world run on multi platforms, and OS's. We could unite the efforts of KWord, OpenWriter, and AbiWord. We could use KDE or GNOME without flamewars, or we could work on a united gui.
I guess what I am really trying to say is to, GET OVER IT, and set the lead for M$ to follow.
There is nothing stoping us taking back the desktop, if we dont mind getting our hands dirty.
BTW: if anybody would like to help undertake such a project, please let me know.
The day that every motherboard's BIOS uses strong crypto to demand the master boot record be signed with a secret key known only to Microsoft is the day that Linux becomes a thing of the past.)
Not going to happen, unless the US goes to war with China. Most MoBos are made in Taiwan or Southern China, and you can bet your sweet lilly that the Chinese government (or the Japanese for that matter) is NOT going to give MS the power over every PC in China (or Japan).
So in the free world, you will always be able to buy a free and open PC. In the US, well it might go as you say, but hey, that's only the US.
The big money over the next decade will be in transforming the computer into an entertainment device.
Well, that's ONE of the things the computer will become, but the computer is evolving and transforming in a lot of other areas as well. Robotics, niche-manufacturing, traditional manufacturing , astro-physics, bio-technology, precision guided weapons/war machinery, virtual robotic control, communications, aerospace and fluid dynamics, chemistry and molecular design.
To say that the basic use of the computer will become to titilate the masses is IMHO limited thinking. Sure, there will always be a market for consumer devices, and content that plays on them, but to extend that to Microsoft taking over the BIOS of every computer made is just plain silly.
Perhaps there will be a fork in PC manufacturing. There will be a consumer device made which will basically be a PC with an idiot interface that makes it look like it's not a computer (hey, didn't Apple do that like, 18 years ago), and then there will be high-end, high performance "Workstations" made for academic, scientific and industrial/commercial applications.
Because I doubt that NASA are going to be using C# and Windows to build life-support/mission critical software on the next Space Shuttle or International Space Station.
>>
I am the director, and this is my movie
Sheesh..
t_t_b
I'm on PJ's "enemies" list! Are you?
For smaller, commodity systems though, you are spot on. The unix vendors will always be a camp divided, needlessly thrusting small incompatibilities into the development cycle. Maybe Linux on x86 will simply borg the other commodity unices and solve this problem in an indirect fashion, but even then linux itself is splintering in a frustrating fashion.
I think a lot of folks here have been focused on the Linux/desktop issue for so long that they're not understanding what really drives Microsoft: $$$$. (Well, I assume everyone *knows* that... but not sure how many understand it.)
The CLR has two implications.
The first many have commented on... hardware abstraction. Applications compiled for the CLR will be able to run on a wide-variety of different (but similar) platforms... but is this really of long-term value? Are there a lot of applications begging to run unmodified on your enterprise server AND your Palm? Doubtful. Hardware abstraction makes good engineering sense in the sense that it saves future development, but I don't see it as much of a market-stealing development.
Will Microsoft have an advantage over Intel? The ability to move away in the future? Newsflash, it already has that advantage. x86 is, for all intents and purposes, an open standard implemented by a variety of hardware manufacturers (down to AMD and Intel at the top-end.. for now). How will CLR give it more of a death-grip? As someone else said, this aspect of the CLR is equivalent to the HAL.
No, I believe it's the second implication that Microsoft really cares about: multiple language interoperability.
The market Microsoft is going after with CLR is really the enterprise computing market. There is an awful lot of existing business logic written in a wide range of language offerings, and the value in capturing that market is huge. Microsoft is making this move on the basis of a prediction on where enterprise software is headed over the next 5-10 years.
Different pieces of logic (within different systems) are begging (so M$ believes) to interoperate within a single application server, within a single runtime. XML/SOAP/Web services is a basic solution for cross-process interoperability... but what's going to run on the *back* end? Within the same process, with shared rules for security/type-safety, object/thread pools, garbage collection, and shared state?
Java threatened to be the default language to which business logic/applications/"Web services" were about to be built with... which obviously would represent a threat to Microsoft's position. Microsoft made a valiant effort to head this off with COM/COM+, but quickly realized that the fundamentally C++ nature of COM+ was making it not attractive enough for business developers.
The introduction of CLR is trying to change that. Multiple languages, multiple types, multiple run-time semantics... standardized in to one run-time. C++ objects making calls on Java objects making calls on COBOL logic...
.... that's the vision of CLR, and why the focus of the CLR paper is about the language features of the CLR, *not* the 'generalized hardware' nature of the hardware.
There's a lot of money to be had in taking over the world.
And this would happen without anyone batting an eyelash, I'm sure. DOJ would be happy with it.
I don't think so. And even if the situation came to pass:
A: It would be easy to remedy this situation, and it would be remedied via antitrust action (though perhaps some group would need to be formed to validate and sign OS booters from open source vendors).
B: The market would supply a vendor who produced equipment to run other OS's.
This is the problem with the "slippery slope" style of arguing. You don't try to evaluate the problems with some projection, you just view it as some inevitable consequence of something reasonable. Everything gets bent into some crazy, hypothetical world where nothing is as it is now.
Here's a projection: Linux will overcome MS by providing a better product for free. Seems a lot more likely than Jamie's scenario.
Why can't this be the topic of our anti-MS conversation: What can we do to make Linux better?
...
Let's not stir that bag of worms...
The poster's original question seems to be a reasonable, thought-out question about the implications of VMs in software development.
Too bad it's followed by 4 paras of paranoid rant, which is what people are replying to, by and large. Why doesn't Jamie just post in the forum, like the rest of us proles? Even if I'd blocked him from my view of Slashdot (which I haven't, although looking back over the stories...), this would slip through as a rider on Cliff's story.
[anyway, what is the benefit to BIOS makers and motherboard manufacturers of limiting their market? The degree of support for overclocking in existing mobos and BIOSes shows that they don't care what their large partners think (Intel, AMD)]
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
WTF indeed! Java applications have both! Ever hear of the java.io package?
Would you really want Java applets, downloaded from an arbitrary Internet site, to have access to your hard drive by default? (Signed applets can do such things, by the way.)
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).
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. ;-)
299,792,458 m/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
My prediction is that, unless antitrust legislation in the U.S. gets some teeth between now and then, the PC will become a Gameboy within fifteen years. Enjoy computers while they last.
Game Boy is a bad example. The Game Boy Advance is an open system, fully documented to the point that anybody with GCC can write software and run it on the GBA without taking a vow of silence or paying the big N. The only things the GBA checks before running your code are 1. the very simple checksum on the header and 2. a bit pattern that produces the Nintendo logo but is legal to copy under the Sega v. Accolade precedent. So go get GCC for ARM and an MBV2 cable from lik-sang.com and get hacking.
$article =~ s/become a Gameboy/become an XBox/; and it becomes more accurate.
Will I retire or break 10K?
2. The CLR is just a collection of library code that developers can use or choose not to use. Think STL for many different languages. Already the CLR has support for many languages.
In particular, I was pleasantly surprised that it includes a primitive for making tail calls, and explicitly cites its necessity for beautiful-but-niche languages such as Scheme, ML, Haskell, (and Common Lisp). (See section 8.2 of the document.)
Lost in all this anti-ms sentiment is the fact that this is a really good idea.
As computers get faster and faster, the overhead generated by a virtual machine becomes less and less. If a standardized CLR existed (preferably one that was open, and not controlled by any one corporation), then all that would be necessary to have "write once, run everywhere" would be to have a hardware abstraction layer written for each hardware platform. Imagine how much easier it would be to code an operating system if you could use a javaish language instead of c and assembly.
Does anyone know of any open-source projects that are working on an open CLR and/or open OOP language? If such things existed, then instead of seeing the "WM of the month" we'd start seeing the "OS of the month." By making it easier to code OS's, we might start to see some innovation in the field instead of the stagnation we've seen for the past couple of years.
"Don't blame me, I voted for Kodos!"
I like to associate myself with the /. crowd but these unsubstantiated musings are making us look intellectually void.
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
Why does Jamie feel his comments are so important that they *had* to go in the story portion itself? (Note this was another editor's story to boot.) Is he too important for his remarks to be in the comments area with all us other 'lowly' posters?
- St ill-Annoyed,
It used to be Timothy and Michael who were the worst offenders of editors using Slashdot for their own personal soapbox, but this takes the cake.
Post stories that are interesting, and if you must comment, get off your damn high-horses, and subject yourselves to the same moderation (and filtering) as everyone else.
I-Know-This-Will-Get-Mod'ed-Down-As-A-Troll-But
-Bill
SlashSig Karma: Excellent (mostly affected by moderatio
What took this realization so long to form? For any software developer your target market always has areas that you can't get to. These areas are systems running an OS or a platform you don't or can't support. A write once run everywhere system effectively gets rid of unreachable markets. Hence the emergence of Java in the middleware scene. You can get your middleware apps, hardware, and app server all from different vendors as long as it is J2EE compliant. As the Java 2 VMs speed up you're going to see a good deal more end user apps available because the people making them are going to have a wide market they can sell to. Microsoft now wants to do the same thing just with a Microsoft label.
.NET initive if Microsoft learning from marketing mistakes of the past. Instead of getting the OS onto different platforms just get the API onto different platforms and then make a way for people to write the software once so they can run it anywhere. There's no need to patch software in order to localize it, you just run the code which is compiled on the fly and runs.
Most of the Linux kids probably don't remember when you could get Windows NT for four ISAs. The problem was you could get Windows on an Alpha or PPC system but you couldn't find any software to run. The whole
I'm a loner Dottie, a Rebel.
1. Consumers, that's a retarded question. 2/3s of the US economy is consumption. Capitalist economies typically devote more resources to consumer goods than capital goods. Business computers are capital goods.
To grow a command economy, you push capital goods to excess. Hence the aggrarian Russia become a major superpower from the time of the Russian revolution (1917) to rival the western world by the end of WW II and remained competitive until its economic collapse in the early 90s. Despite the ability to keep up militarily (technically consumer goods, as weapons and munitions aren't used to produce other goods) and in factories, they had bread lines and 10 year waits for autos. Why? If the rest of the world wants to destroy you, you spend on military first, keeping up second, and goods for the people 3rd.
Businesses spend money differently. Demand for capital goods is different from demand for consumer goods. Businesses will buy capital goods (like computers) at higher prices because they get a good ROI on them, and the opportunity cost of downtime and tech support is higher.
Consumers are willing to spend differently. They are more likely to be willing to spend 1-2 hours on tech support then spend $100 to avoid those waits.
Its about two things: market segmentation, money.
If Microsoft can get themselves 1% of the consumer non-food, non-rent economy (essentially becoming a government and enacting a tax), they will become MUCH larger than now.
If they can better split the business buyers from the consumers, they can maximize prices and therefore profits.
Alex
Now that China has pretty much chosen Linux I don't think this will happen.
Giving up the worlds largest potential market just to please Redmond is very doubtful.
---- Smokin' another sig.
The CLR is already being used to write applications that run on multiple platforms. For example the Compact .NET Framework runs on various of the cpus supported by Windows CE.NET. Now you can write an application for .NET and it will run in any system with a CLR.
.NET is better than any other Win32 apis.
This solves a practical problem: now you will be able to "beam" programs from Windows CE machines running on different CPUs. Also,
The CLR also helps the move to 64 bit systems. There are three integer types on the CLR: int32, int64 and native int (which is 32 or 64 depending on the machine).
The Mono project is building a free implementation of such a virtual machine (http://www.go-mono.com). We have a functional JIT engine, a C# compiler and many class libraries. So in the future you could even write applications on Windows and run them on Linux.
Miguell
Whether they acknowledge it or not, MS lives in close symbiosis with the vendors; every 2 years or so progress in hardware development produces faster PCs, and every 2 years or so MS produces a version of Windows, as well as applications, that serve to bring the speed of those PCs down to a sluggish sublevel of performance, the added bells and whistles effectively canceling out the performance gains. Users have been indoctrinated into accepting this cycle as natural, which is why users so often acknowledge the speed of Linux, BeOS and other OSes as wonderous, when in truth we shouldn't accept anything less.
In short, Microsoft boosts the new generation of speedy hardware because users "need" it. And speedy hardware boosts the new generation of Microsoft stuff because users "need" it. At the moment, that cycle is slowing down as users feel applications are fast enough for their needs. The recent improvements in performance have been almost entirely for the sake of gaming performance and multimedia: AGP, 3D instructions, HW-accelerated DVD playback, HW-accelerated sound, cooling supplies, cool cases etc. -- precious little of that stuff is for business tasks.
Everybody knows the upgrade cycle can't go on like this. And consciously or not, this game of leapfrog will be artificially boosted by .NET because this technology, by definition, will slow down your computer; similar to Java, it relies on bytecode that is compiled into native code on demand (Just-In-Time compilation). While some argue that this process can produce superior performance to traditional pre-compilation, in the short run it probably won't -- Java is a good case study here.
The fact that .NET could run on other hardware platforms is another possible sales-booster: a hardware-independent Windows would promote new types of hardware, freeing the burden of innovation from being completely on Intel, spurring competition, thereby potentially spurring more sales, etc.
No. The IBM AS/400 product group considers NT to be the Great Satan. There is absolutely positively NO WAY IN HELL that NT was ever run on AS/400 hardware.
First of all, the port would be a MASSIVELY HUGE effort. AS/400 hardware is not of this earth. And what in the name of all that rocks would be in it for Microsoft?
Yes, we can cut MS a bit of slack here, right now, and assume that signing originated as an integrity improvement. However, you don't have to be as paranoid as some people here to envisage a situation where non-trusted code cannot be installed without breaking some support agreement etc., particularly in the corporate environment.
Actually, I'd better complete that statement/ramble and say that I think this is probably the right thing to do from an MS support PoV. The 'remedy', if required, would be to allow other support organizations to certify their own combinations of drivers.
I don't understand what you (or Microsoft) are talking about when making that claim.
I regularly mix Python and Java objects. Python is a dynamically typed language with multiple inheritance and Java is a statically typed language with single inheritance. I can subclass Java objects in Python and use Java objects in Python and vice versa. If this is possible for languages as different as Java and Python, it would seem to be possible for many other languages as well (and many other languages implemented on top of the JVM claim to provide the same level of integration--I just haven't used them). The Java native code interfaces also allow for similar levels of integration with native code.
The CLR does clean up some idiosyncracies and minor messes in the JVM and JVM spec. Mostly, those cleanups give a bit more handholding to less experienced language implementors to figure out what to do. But that doesn't seem to give the CLR significantly more functionality or performance overall.
If you claim CLR is "demonstrably better", maybe you can be a little more concrete in your "demonstration"? Where specifically are these demonstrable advantages, and how specifically can you not achieve the same functionality in the JVM?
I think the main reason for CLR is that the x86 architecture is clearly on the way out, but it has not yet become clear what its successor will be. There are several candidates, and MS doesn't want to build and keep separate versions of their code for all of them, nor does it want to risk choosing a loser. So it designs a VM layer so that the only code that needs to know what hardware you have is Windows, which you buy with the hardware anyway. In any case where you don't know what the user will be using, introduce a layer of abstraction and you don't invest much in your guess. Of course, they've got code in many languages, so all of the languages have to target this virtual machine.
lol.. my point was: When M$ makes your, er, their minds up, not even the gov't can change that.
/. will shut up.
Regardless if this is on topic, it's true.
Come up with ten reasons why I'm wrong, that M$ is a great company that loves to 'innovate' then I'll shut up. Hell if you could come up with 10 reasons why M$ does anything without a sneaky idea on the side... everyone on
Get your Unix fortune now!
Microsoft is porting .NET to FreeBSD. How does that help them establish "Windows Everywhere"? They aren't suing or threatening Miguel for his Mono project: in fact, they seem to be encouraging it (or amused by it) judging by
the interview with him on MSDN.
C# is a nice, clean platform for Windows GUI development. And ASP.NET is cool enough to give IIS a feature edge (as opposed to a security edge) over Apache. Not that the Apache group couldn't create something like Tomcat to serve ASP.NET from Apache, mind you. .NET is, after all, an open standard.
Microsoft needs .NET because Microsoft's customers want an easier way to develop. Period. Apple developers love coding for Apple. Linux developers love, well, anything anti-Microsoft. And Windows developers--God help them--should be able to enjoy Windows development. Having actually written an app or two using the CLR I assure you that it is much more enjoyable than MFC.
IANAWT (I am not a Windows Troll). I am a BSD user looking forward to .NET on BSD. I am a Perl coder looking forward to Perl.NET. And yes, I use and code on Windows at work. And for these reasons, it's very cool to have .NET.
LimeWire. I had my doubts about cross-platform Java apps, but LimeWire looks sweet and does its job (too bad it's one of the ricketier Gnutella clients in terms of connection stability). It is open source, too, and will continue to improve.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
Yeah, like what? I think you're talking about applets and bugs in 4 year old JVMs. Nobody writes applets anymore.
I work with AWT all the time, on a networked scientific application. We used it because 1/3 of our customers use Macs and some use Linux. Once in a while something hits a snag on one OS or another. You're coding against different libraries, so sometimes you run into JVM bugs. Usually it means you don't know what the hell you're doing and you're relying too heavily on an implementation detail of a particular JVM, instead of sticking to the spec. But it usually turns out to be a one line fix.
What were you doing to break AWT?
I can't believe almost everyone missed this! Everyone thinks this is Microsoft's way of reducing Intel's influence. WRONG! This is the perfect way to MAINTAIN the Wintel hegemony!
The scream you hear every morning is the Intel engineer realizing he/she has to spend another day working on the x86 architecture. Everytime he/she pushes a polygon around on a cad system, he/she curses the baroque design decisions that were made 20 years ago. Intel tried to kill the x86 on multiple occasions (80860, 80960, etc) and failed miserably every time. Their most recent attempt, IA64, shares the same departure in binary compatability.
To wean the market away from x86, Intel has recruited Microsoft to create a language and development environment that generates architecture independent byte-codes. Intel rooted for Java in the early days, but now it is obviously a niche player. Microsoft thinks it gets a leg up on Intel but it is Intel with the most powerful compilers (check out icc) and the fastest hardware (Intel hired away all the Alpha engineers). Wintel lives on.
Microsoft has a multi-prong approach. It is similar to Sun's Java write once run everywhere strategy, but with the benefit of history and money on its side.
.NET Framework (JFC/Swing) which will eventually replace the Win32 API. Once Microsoft ports the CLR to a new hardware platform or operating system, it is simple to also port the .NET framework. MS really doesn't need to port Windows unless it wants everything from the hardware up (as in JavaOS).
.NET framework in it's upcoming Windows .NET Server (aka Windows XP Server), and will have it included as free upgrades for Windows 2000 and Windows XP before the end of the year. This means that MS could potentially have tens of millions of .NET ready systems on the street before the end of the year. On advantage MS has is that in its first incarnation the .NET Framework just hooks into the Win32 API, giving them time to rewrite the entire Windows codebase (supposedly due with the Blackcomb release).
.NET Framework and eliminates Win32, their will be nothing stopping MS from porting Office to any hardware and/or OS platform on the market. 3rd party developers like Adobe, Macromedia, etc. can port their applications to .NET now with a tryed and true customer base, and once MS is ready, jump with them to other platforms/OS' with an almost minimal risk and expense. Instant application base. The first candidates are MAC OS X and Windows CE (.NET). Adobe for one will probably welcome having less codebases to maintain. Any port that makes economic sense to MS is a candidate, including Unix and Linux.
.NET framework. As new hardware or OS' hit the market, port. Where as Sun could port Java to any enviroment easy enough, it doesn't have the same application base as MS.
MS has the CLR (Common Language Runtime) and MSIL (MS Intermediate Language). This is nothing new, with CLR = JVM, and MSIL being javacode. Additionally MS also has the
So if this is nothing more than MS rehash of Sun's Java approach, what's the difference.
.
First MS has the advantage of learning from Sun's mistakes. For example C#, Visual Basic, & VC++ are not the only languages that can use CLR & MSIL. Any language can compile to MSIL, and MS encourages it, claiming over 20 languages from 3rd party vendors, including PERL and Java. Additionally MS supports both compiled and bytecode, with a built-in native code compiler as part of the framework. These were all possible with the JVM, but not advocated/pushed by Sun.
Second, instant market. MS is including the
Third. Applications. Microsoft has Office. Lets face it. People don't buy Windows for IE and Solitaire. Java never had a killer app.
Fourth. Inertia & Clout. Once MS ports Office to
Five. Future proofing. If the DOJ or anyone else causes problems, MS can easily port Office to Linux just by porting the
The amiga probably would have survived and computing/graphics power in the home would be able 5 years ahead of where it is now.
Seriously though, I don't see why IBM won, except the fact that it's what they were using at the workplace. Offerings by other companies were so much more advanced. (not initially.. though the commodore 64 was pretty impressive, and the 128, though not as popular to write programs for was nice.. the amiga was light years ahead of others in graphics, power, etc. I know people who browse the internet just fine on their amigas. No other computer from that day would be able to handle it as well, i'm sure.)
It would take more than this. Don't like the BIOS? Roll your own. You'd need every single peripheral to require an authorisation token, just to operate the computer. I don't think the courts would wear a law that required all peripherals to require such authorisation.
"is this what you mean by integration at the object level?"
no he was just lying. It's called spreading FUD. MS has lots of trolls on slashdot doing that all the time.
War is necrophilia.
It didn't happen then.
I'm not worried now.
Now Microsoft is smart, and I think they learned their lesson somewhat. They're not going to do anything blantantly monopolisitic like requireing all BIOSes to only be able to boot windows. They don't want to have to deal with another antitrust case, and they, and they surely don't want the DOJ to have killer arguments like, "Now, no new computer can run anything but Microsoft Windows," and, "All software on a Windows system must now be signed by Microsoft, thus giving Microsoft absolute control over the software industry." A case like this would make the current antitrust trial look insignifigant in comparison.
Oh yeah, IANAL.
http://msdn.microsoft.com/theshow/
It's windows media format, yadda yadda, but it contains a 30 minute interview with 2 topdevelopers / designers of the CLR and a 30 minute demo about how the CLR actually works. Great stuff for people who want to know more about the background of the CLR, the people behind it and the inner workings of the CLR.
Never underestimate the relief of true separation of Religion and State.
Who in their right mind would decide that an application should be written in 5 different languages?
The people who have programmers fluent in one language, but want to use libraries written in another language?
I've worked in places before where it was hard to get hold of programmers fluent in the language we wanted. If we could have concentrated our programmers in the areas they were most fluent in and not worried about language interactions, we'd have been a lot better off.
My Journal
that's funny because the Amiga is dead and the BBC Micro progeny lives on in the StrongARM.
But you're right though, we should not read history as the ONLY way things could have happened, it's a mistake mamy people make.
"everything in my life has been leading me to where I am now"
While it's patently true it will always be true no matter where we are.
If we get seduced by it though we end up saying stuff like "if it hadn't been for the Altair I wouldn't be typing this" which is just plain ridiculous.
Although our technological progress is somewhat Lamarkian at times the tenet "information wants to be free" is still with us and it's as true today as it's ever been.
Computers fascinate and that fascination will drive all the crap away, at least into a niche.
However, the US corporate stranglehold on the US Governement is an attack on the people. We are probably engaged in a kind of cyber civil war and that is something we should bear in mind.
Should the "only run signed software" thing be applied to every PC then I suspect that some company somewhere will build a signed VM, maybe even Java.
The big software vendors will not sit back and be crushed out of existence but we should not sit back and feel cosy in that either.
It is up to us to stick to our guns in the workplace. We already demonstrate our collective power and are known as a "movement". We must keep radicalised but careful to not become demonised.
We built this place and it is up to us geeks to keep it.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
SSCA, or any other attempt at a closed platform to be sure we don't make copies unauthorized by content holders and proprietary software vendors. That could force BIOS and motherboard vendors' hands. It is not far-fetched, just look at what game console vendors already try to do to control the console and game markets, and DVD vendors already do. No matter how bad their security is, and how many technical hacks we can devise to make things work, if we don't win the war to educate the public then the law will always be against us.
If you find it improbable that a now open market will be closed, just remember the death of Macintosh's clones and BeOS.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
http://supportnet.merit.edu/m-winenv/t-intwin/text /features.html
Xix.
"Everything is adjustable, provided you have the right tools"
It's all fine and dandy to be idealistic about freedom and the like, but a quick examination of society suggests that freedom means very little to your average consumer. What most people care about is convenience , the ease with which they can do their "thing." And Microsoft's CLR, while rough around the edges now, brings "convenience" to developer's lives.
I've developed a lot of code in the last couple of decades, and I gravitated to Java because it was an easy way to write GUIs. Sure, most of my work is the heavy lifting "under the hood" -- but it's the GUI that attracts users who buy product. You and I may love command-line environments, but that isn't what most people want or need. As one of my co-workers puts it, the GUI guys get all the glory -- and the CLR is a superior tool for GUI development.
Why use the CLR? Because unlike Java's Swing, GUI code written in the CLR is reasonably fast (through native widgets) and easy to use. The Visual Studio development environment takes most of the challenge out of GUI development -- and toys like NetBeans/Forte and KDevelop don't even come close to Visual Studio when it comes to easy development. The only advantage Java has now is portability...
The CLR has little or no affect on my engine development; I still write my code as portable C++/Fortran/whatever, and wrap it in a component architecture that can be dropped into a GUI. Microsoft has not made traditional compiled code obsolete -- what they've done is make MFC, ATL, and COM obsolete. In other words, Microsoft is creating a user-interface toolkit that can be used to wrap code that does heavy lifting. They're making it easy and efficient to write GUIs for Windows -- and that, my friends, is what is going to hurt Java and Linux.
The CLR isn't about getting rid of Intel, or platform independence; it's about attracting developers who write code that attracts user who sepnd money on Microsoft operating systems. The Linux developer community would be wise to spend more time on ease of use and less time tilting at windmills.
All about me
Some points:
.Net. It's the mother of the battle between IE and Netscape.
.Net strategy is all about supporting the Windows price tag and wiping out other platforms. .Net is pitting itself against J2EE in the enterprise layer and continues to fight Linux and open source at the lower layers.
1. A JVM (or CLR) is needed to allow the creation of applications (as opposed to applets/ActiveX) that run in a security sandbox (as opposed to on the bare machine) with dynamic classloading and garbage collection. These things are indispensible.
Without a JVM (er CLR) Microsoft's developer base would continue its trend and dwindle to nothing except developers who couldn't adapt to Java -- i.e., lousy developers. I'll bet there is already a lot of that effect already. There has been a giant sucking sound in PowerBuilder, Visual Basic, and Visual C++ development as most of the prime developers scooted over to Java to see what was going on. I'll bet there are a lot of Microsoft developers out there working in Java who are now a version or two behind in their Microsoft development platforms.
Microsoft needs them back.
2. The CLR and C# are not about supporting platform independence, either at the OS or hardware layer. Please. It's ridiculous to think that Microsoft is going to do anything to undermine Windows. And Windows is not going to depart from Intel.
Anyone remember a little thing called the Alpha? What a catastrophe NT on Alpha was for poor DEC (now poor Compaq). Lots of businesses bought those cross-platform "Windows Alphas" too and they now regret it.
Nope. It's Wintel all the way for Microsoft for the foreseeable future.
Listen up Linux people. This is the same old trick.
Microsoft mouths the words "platform independent" and "open standard" to counteract their sales vulnerability to fears of vendor lock-in. Then the platform independent version just never shows up. It's always "in development by some third party" and never sees the light of day. Are you still waiting for the non-Windows version of DCOM and DNA?
This time, the chumps are the Linux community. Miguel De Icaza blew it with Gnome and now he's about to (help) blow it for all of Linux.
3. Java is an "open specification" but not an "open standard." That's a distinction that only matters to propagandists. Most people don't know the difference, so they complain noisily about the Java platform not being a standard.
In essence, with an open specification, anyone can write an implementation, they just can't change the specification. Sun's open specifications are extremely open to change though -- through the extremely open Java Community Process. The specifications are open to change but not hijacking.
Sun was very wise not to give up control of the Java specification. Had they ceded control to a standards body, Java would have been slowed down, absorbed, and fragmented by Microsoft.
Look at what has happened to HTML, the other major non-Microsoft platform. The W3C is now begging to get back in the game on HTML -- and it's their own game. Without Mozilla, the W3C would now be completely irrelevant. Microsoft would own the only meaningful definition of HTML (like they don't already).
4. Where's the source code?
With Java, you can look at the source code of all of the standard API implementations. It's gorgeous code that you can step into with your debugger. That will never, ever happen with Microsoft. It would undermine their ability to exploit hidden API capabilities to leverage their OS mononopoly against third party software vendors.
5. In the final analysis, the battle is between the J2EE and
Like Netscape, J2EE is in the driver's seat. It is hands down the most widely adopted, most diversely implemented platform to date.
This is not about religion. It's about money. The main thing people like about Linux is its price tag. Microsofts
.Net is not going to be on any other platforms or OSes any time soon. Please snap out of it. Linux people who fight Java and J2EE should reconsider.
JBoss on Linux is the open source platform of the future in my opinion.
Despite the fact that Microsoft at large may be an evil goliath, there are still pockets within or affiliated with MS that do really good work. CLR (without all those other services MS wants to pile on top of it) is a *damn fine* architecture and a breath of fresh air (my day job is Java middleware development, so I know). Miguel de Icaza's Mono project thinks it's so good that they want this to be the basis of unix ("Let's Make Unix Not Suck"). Before you bash it, read the specs and technical articles. It's really nice. The trick is now how to keep Microsoft from perverting it to their own world domination ends. Having it be an official standard (ECMA I think) will help, and is something Sun hasn't done yet (though I can't bash Sun, they've been really great with Java and are slowing catching on to the OSS 'thang').
It's 10 PM. Do you know if you're un-American?
1. Who spends more money? Businesses or consumers? Businesses. Why the hell would MS want to transform a device for doing work into an entertainment machine?
One of the hallmarks of monopolies is to segment the market. You want all segments, not just the profitable ones. Total control is what you want. Of every segment. You also want as many segments as possibile, and for those segments to be a small as possible.
There is an important reason for this. When one segment is threatened by a competitor, then you can underprice competitors in that segment, killing competition, yet still have stellar profit from all of the other segments that you have monopoly lock in on. Just witness IBM's business in the 50's, 60's and 70's. Competition in entry level comptuers? Well, then sell them for below cost, but with just low enough memory capacity that the user will soon be back for a vastly overpriced upgrade. Who can fight this? Nobody. Competitors must actually make money on their entry level system. Competition on your game systems? Then underprice competitors and make money from business. A segment of business unprofitable? Then make it up from other segments who have no choice but to pay whatever you charge. Once competition in the unprofitable segment is eliminated, then go back to regular overpricing.
Based on the foregoing, let's consider. Suppose MS decides (or is forced) to unbundle IE. How long will it be free? Once there is no competition, a price will become attached to it. Even do it with good PR. Unbundled Windows is cheaper, thus benefiting consumers, just like the DOJ said. IE is seperately availalbe for a low price. (Of course, wanna bet that combined price goes even higher than today?)
3. An evil empire built by Microsoft does not really benefit them in the long run. Microsoft is in the business of making money, not taking over the world.
The kind of ambition to make money also tends to make one crave power. Often power and money go hand in hand. They can even be traded off to a certian extent like mass and energy. Taking over the world, or said differently, the pursuit of power, is directly in the stockholder's financial interest.
I disagree. An evil empire built by Microsoft directly benefits a very small group of people in the long run. Both in megalomanic ways and in financial ways. Power begats money, and vice versa. And they are addictive like a drug. Finally, surround yourself with yes-men, raise yourself to a different class than most people, and it distorts your entire view of the world. Taking over the world becomes your right, just as 100% of the market should be rightfully yours.
I'll see your senator, and I'll raise you two judges.
Microsoft didn't stop shipping the MIPS version of NT until EVERY SINGLE maker of MIPS clones stopped production (Netpower was one of the last holdouts).
There's actually a very good reason for this that has nothing to do with the MIPS market (or lack thereof): The simple fact is that NT was *developed* on MIPS, and then ported to x86, alpha and the rest. This continued until relatively recently, when the unavailabilty of reasonably performing MIPS hardware forced them to move development to x86, not too long before W2K came out.
There never was enough of a MIPS market to justify it if a port had been required - it's just that since it was the master, they already had it lying around to sell...
"The future's good and the present is nothing to sneeze at." - Roblimo's last
Something that is completely documented via reverse engineering is NOT open...Fool!
Check your verb tense. "Something that is completely documented via reverse engineering" had been not open, but U.S. trade secret law states that once it's open, it's open forever, and any dissemination of the operations of the machine is free press. (This does not take into account copyrights on particular expressions of the operation of the machine or patents on making or selling such a machine.)
Will I retire or break 10K?
I've been a Java developer for over four years now and although I trust Sun a whole lot more than Microsoft, the fact is, Java is a proprietary standard owned and licensed solely by Sun, whereas C# and the CLR are open standards managed by ECMA.
This is a trickier issue than you make out. To a degree you're right. Sun does, however, specifically allow clean room implementations of Java. It doesn't allow versions that don't pass the compatibility tests to call themselves Java. I do think the compatibility tests should be open source and freely available, but I don't have that much trouble with their stance otherwise. The JCP is an effective mechanism for moving the language and class libraries forward.
I disagree about the results of the JCP 'belonging to Sun' - they belong to the (ever widening) Java community.
Oh, yeah, there's Kaffe, and GNU Classpath for Java, which are cleanroom implementations with no license and no permission to call themselves Java, and guess what, they are still broken, not compliant with even JDK 1.1, and have been under development for something like five years now. I dare you to try to get JBuilder running on them. I really, really wish them good luck, but so far they are a major disappointment.
Yes, but is the lack of progress on the OSS VMs simply due to satisfaction with the free-as-in-beer commercial VMs?
On the other hand, C#, the CLR, and the core classes of .NET are an ECMA standard. You can choose not to trust Microsoft, and still look at the standards and see if they are worth using or not. This is what Ximian has done, and they decided the standards were worth using. If Microsoft then chooses to go off and violate the ECMA standard, that doesn't lock you into their proprietary version; you can still stick with the ECMA standard, and all the implementations that adhere to it, and tell MS to take a flyng leap.
Great, in theory. Microsoft has already made noises about 'licensing' issues, so we'll see where that leads. Further, Microsoft did not make big chunks of .Net ECMA standards, including the entire GUI framework. So much for cross-platform GUIs...which are working quite well these days in Java.
The real thing that people need to be concerned about is how objective and open ECMA is going forward. Microsoft has been known to try to hijack standards bodies before; if they can control ECMA, then they can claim that it's an open standard when in fact it would be a sham.
Sun is claiming that eventually it will open source Java. That will be desirable once Java is mature and well established.
In the meantime, to me the important things are that Java is here, functional, and cross platform today - and I'm not furthering Microsoft's computing agenda or monopolies by using it.
In fact, I would argue that Java's widespread adoption among developers is the strongest thing it has going for it. It is also very widely used as a teaching language.
299,792,458 m/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
>> "Nobody writes applets anymore."
> I think many multi-million (and even billion) dollar companies would disagree. Applets are still used a lot... on intranets, where they're well suited.
Applets are a good technology in general, and held some promise. I think they got killed by several things:
-poor JVM performance in browsers, with broken 1.1 support, inconsistent API support, etc.
-Inconsistent methods for signing applets in Netscape and IE
-people's impatience with properly implemented security (especially with the applet "sandbox" security model) favored things like ActiveX (which takes the typical MS approach to security: "you clicked OK, so anything that happens now is your fault").
-the common misconception (widespread in the computer press) that Java is simply an inferior way of doing what Flash does better, that Java and Flash are even suited for the same tasks at all, and that the success of Flash indicates the coming demise of Java.
I agree that in a controlled environment like an Intranet, none of these (aside from people's attitudes) present an insurmountable obstacle.
Putting aside the interesting philosophical question of whether a corporation can be evil for a moment
Look at Phillip Morris and the other tobacco companies. If they do not qualify as evil, I don't know what does.
Mind you, it could just be that the tobacco companies just happens to be by evil people. Then there is the degree of evil involved. Clearly the CEOs of big tobacco are way more evil than the guy who delivers mail at Kraft (which is AFAIK a Phillip Morris subsidiary).
*** Where are we going? And what's with this handbasket?
Neat... I still run a Linux/OpenBSD shop instead of still consulting on Citrix/NT systems.