“.NET clearly bears a strong resemblance to Java. It offers many of the same features, while adding interesting additions of its own (code metadata, versioned assemblies, etc). Microsoft, however, is better positioned to create a cross-market software unification framework than Sun Microsystems ever was (or is). This will result in a rapid expansion in .NET’s popularity which eats into Java’s market share as it grows to take over the development world.” Read the editorial at ZDNet.
But as always zdnet is horribly flawed. Stuff like a crapload of libraries to do the same thing..especially if they aren’t included in the core create headaches, not competition. Just think threads & c++..or sockets & c++.
I do agree that ECMA will rule, and the multilanguage ability too. Besides, from programming ASP.NET I see that microsoft was careful to copy all of java, without much of annoyances(well they added cool stuff like [] overloading too).
Being a longtime java, fan I no longer have much respect to java after doing C#..i’m the C# man.
Also I think the opensource .net efforts will blow away java when it comes to portability, versatility, and easy of integration into your products, cos with the tight grip sun got on java, this just isn’t as easy. Just look at the jdks for Netbsd or freebsd, they are very weird to install.etc
seems like Java is being attacked by MS .NET and the open source world’s .NET. That’s going to make it hard for SUN.
The open source world never embraced Java in a BIG way (C or C++ still the norm for projects) and I think that hurt SUN.
Um, web services have existed long before .NET Same type of story over and over again, just a different headline…
Insert Microsoft technology in quotes :
Why “ActiveX” Will Conquer the World (failed)
Why “MS Channels” Will Conquer the World (failed)
Why “Xbox” Will Conquer the World (failed)
Why “WebTV” Will Conquer the World (failed)
Why “Paper Clip Guy” Will Conquer the World (failed)
Why “Windows CE” Will Conquer the World (failed)
Try it, it works for everything….
I (partially) agree with the article.
Remember, however, that JIT langugages have been around for a long, long time, and have become a natural evolution of interpreted languages (TCL, Perl, etc..) It’s just taken 20+ years for CPU’s to be fast enougn to make JIT a sane thing to do.
In all honesty, Microsoft did nothing unexpected. They copied some of the best things of Java runtime (portable runtime, true oo-based class structure, code sandboxing — aka trusted code, just to name a few.) They also had the 20/20 hindsight from Sun’s and their own Java experience to correct some mistakes (multiple language support from the get-go.) They repeated some mistakes (introducing a new language with a new development/runtime model.) And they made some new mistakes of their own (bundling the runtime/development model with their security/rights initiative — Hailstorm.)
The big thing that this article mentions — and gets right IMO, is that MS does have the best develpment environment (no flames, please — I am a *NIX-head, and I like Emacs/VI/editor-of-choice+make just fine — I’m talking about the masses here) and will achieve significant inroads with its technology through the ability to leverage that fact.
All in all, a good article — especially for ZDNet.
Cheers,
Ken
P.S. — YES there are mistakes in the article. No sense in dwelling on them, though — what do you expect from ZDNet?
In all the discussion of .net vs. Java a very good virtual machine Parrot (being made for Perl6, Ruby; will include Java, Python…) is being ignored.
1) Parrot is a genuinely open project
2) Parrot supports languages which are genuinely different like Perl and Java and thus can work for most languages
3) Parrot already has versions for about a dozen platforms and will have versions for close to a hundred
4) Parrot is very fast
I’m not saying Parrot will win, since AFAICT it isn’t going for the same market. It just seems like it might be the better choice than JVM (with all of Sun’s hangups) or .Net (with all of Microsoft’s hangups). Heck either Sun or Microsoft could fully back it with almost no change in strategic direction
Why is Java so popular for in-house applications in big companies? Because it is cross-platform! Unlike what the ZDNet article claims (most custom software is short-lived), most of this software has an astonishing lifespan, for example there are still lots of decades-old Cobol programs running in banks and insurances. This has caused lots of headaches in the past, as this old software needs to be supported and with it the platform it runs on. The latter is the main headache, since the platform is dependant on the system vendor in question, whereas the custom software itself is owned by the company itself.
.Net is not cross-platform. Yes, there are Mono and dotGNU, but their chance of creating a drop-in replacement for .Net is about as big as the chance of Wine of creating a drop-in replacement for Windows.
And about standardization: Only a small part of .Net is standardized. The article claims that it is a good thing for a platform to have only a small part standardized. If that was true, the commercial Unices should have been a much bigger success than they were: some core stuff was standardized through Posix and other efforts, the rest was up to the individual Unix vendors. Guess how much their customers liked this model.
.Net is a great improvement for the windows world, but it’s not going to compete with Java in a big way. People use Java to become more independent (yes, they’re still dependent on Sun to some degree, but it’s definitely an improvement), .Net is designed to tie people to Windows (you’d have to be pretty naive to think otherwise).
Net is a great improvement for the windows world, but it’s not going to compete with Java in a big way. People use Java to become more independent (yes, they’re still dependent on Sun to some degree, but it’s definitely an improvement), .Net is designed to tie people to Windows (you’d have to be pretty naive to think otherwise).
Hell. Yes.
Cross-platform is not proven with .NET.
I live much better ever since.
(My dream was with Java, BTW)
Even from the start it is very clear that the author really doesn’t know what he is talking about.
It is not .net, it is c# which resemebles Java.
Don’t think Microsoft has what it takes to compete in the high-end financial industry and other big corporate project spaces? Think again.
Central Bank of Costa Rica Goes .NET
http://www.microsoft.com/presspass/features/2002/sep02/09-16Central…
Corillian and Microsoft Align to Deliver Enterprise-class Internet Banking Solutions on Voyager and the .NET Platform
http://www.microsoft.com/presspass/Press/2001/Oct01/10-23CorillianP…
The BigFNI.com Teams With Microsoft To Deliver New Online Financial Services
http://www.microsoft.com/presspass/press/2000/Sept00/TheBigFNIPR.as…
Onyx and Microsoft Align to Deliver Industry-Specific CRM Solutions To Large Enterprise Markets
http://www.microsoft.com/MSCorp/presspass/Press/2001/Jan01/01-30crm…
Since when M$ has been known for creating ANYTHING that is truly cross-platform and easily portable? I am scratching my head trying to remember anything that they have done that fits such a description but I cannot find anything.
I agree that M$ creates wonderful dev tools and .Net does not sound too bad but, please, unless you can explain your reasoning let’s skip the portability idea all together, OK?
I think portability is a lot less important than interoperability, and that’s something .NET offers in spades with web services, which will quickly supersede such comparatively clumsy technologies as CORBA, DCOM, and RMI. (Of course, one doesn’t need .NET to do web services — and that’s the whole point.)
Let the flames begin!
Adrian, C# and .net bytecode is portable and cross-platform. You don’t have to be Sun to create a cross-platform language.
If you define the language in such a way that, later on developers can easily write virtual machines for the bytecode of your language, then you can call that language cross-platform.
Microsoft creates a cross-platform language, because as you know ximan is implementing .net run time and compiler for linux. This proves the fact that langauge is not bound to windows.
If Microsoft puts things that can not be easily implemented in other platforms, then you would be right, but as far as I know there are virtual machines for other platforms too.
The one thing that is going to be a big roadblock for .Net to be cross platform is client applications. The Windows Forms class libraries seem to be throwing the Mono group a curveball. They are going to borrow some tech from Wine to get Windows Forms done. Correct me if I am wrong, but Wine only works on X86, right? So that means if you write a Windows Forms app, it will only run on Windows and possibly Linux on X86 in the near future. That leaves out the Mac and Linux on all the many other processors it runs on. Now, I know there are other GUI toolkits in the works for .Net like gtk# and qt#, but I really don’t think the majority of .Net developers are going to embrace those. Visual Studio .Net has a nice forms designer based on Windows Forms and although I haven’t tried the forms designer in SharpDevelop, it also uses Windows Forms. I am a .Net developer, and I have to say I really like the technology. It was a pretty easy jump from VB to C#. Now that I have a better grasp of oo after using C# at work for the last 6 months, I think it is a good time to try my hand a Java again. Has anybody looked at the NetBeans IDE for Java? I installed it yesterday and if it were just a little bit faster, I would say it could give VS.Net a run for it’s money!
I am an avid hobbyist C++/Java programmer, and at work I am using VB .NET
I would *really* like for .NET to fail, bigtime. Even though .NET will solve a lot of problems and will seem like the best platform (shortsighted). However (IMO) submitting to M$ technology is ultimately bad. M$ is all about making money, not making a better solution, for the cause of the solution. Whatever M$ does, it does so to make more money!!
I use Windows because I don’t have an alternative (Linux just ins’t an alternative for me, nor is Mac – and lets not discuss this). WRT Crossplatformness I have Java, hell I have ANSI C.
So, you’d argue that sun is in it for the money too, right?
Sure they are, but they’re not AS *evil* as Microsoft.
Sorry to be ignorant but I ha ve been bitten more than once by the M$ bugs.
First, M$ is not doing any ports. They paid some people to do a FreeBSD port (I wonder why not a Linux port, hmmm…) but I haven’t heard they paying anyone to update/maintain the port. If they don’t do the porting no suit (as in corporate suit) would buy a Mono/Gnu/xyz .Net port and then forget about long term/high availabilty support. Sorry, but if they don’t do it/_really_ support it I don’t buy it will work.
Second, who can assure me that M$ won’t change its mind later and change code/licenses/etc just to get draw a final blow to all the wannabes? Not like it’s going to be the first time abd would tarnish such an unblemish record of fair play… 😉
Third, to make it truly portable requires lots, and I believe LOTS, of resources: developers, sources, documentation, time and money, yes, money. I believe that such an undertaking (.Net in Sparc, for example, dev tools, compilers, languages, etc) would require too many resources while the fact that M$ can _provide_ the same _benefits_ a lot earlier and _cheaper_ but only on Wintel HW, of course.
Dunno, call me a pesimist but I’m still scratching the rash M$ left on my skin… 😉
Why should I care about .NET for fucks sake?
Mono etc. will never be MS Windows .NET compliant. MS will never let it. MS did not give important parts of .NET as WinForms, ADO.NET, enterprise services (which means transactions etc.) to Ecma. .NET on Linux will be only used by my-refrigerator-must-also-be-open-source people or power crazed people such as Miguel de Icaza (No one cares about Gnome, KDE will always beat us etc.).
.NET has no chance of fighting with Java in the enterprise world. Look at all the application servers implementations: Oracle, Sybase, IBM, BEA, HP, Macromedia, SUN, Fujitsu etc. All are based on Java, J2EE. Only MS has .NET based server, which lagged more than one year, and still is not complete. So, please come to your senses.
.NET languages are not real languages. They are crippled versions to be translated to CL (Common Language, the only language .NET has). All .NET languages are the same language with different syntactic sugar. In Java VM, you can also run more than one languages, since it is just another virtual machine. But as the story of the tower of Babylonia proves, it is not something desired all the time.
I have never used .NET, and I do not plan to use any technology from a power crazed monopolistic company formed from idea thieves. I don’t need it anyway. I can do everything that I would like to do with Java. Yesterday, I completed my small DSP application using Java, today I already tested it on MacOSX, Windows and Solaris boxes.
My brethen in the Open Source world … I know Microsoft is a moneybrubbing evil empire poised to take over the world. I know Uncle B. G. will stop at nothing until there is a Microsoft products in every inch of your life, ranging from your tieclips to your socks … but please, please STOP referring to Microsoft as M$. ‘MS’ fine, but ‘M$’ no.
It is hard to take your comment seriously when you refuse to even acknowledge your opponent with its proper name, and instead resort to simple name-mocking. I have been noticed several postings (elsewhere) raising this issue too, but seems that nobody takes them seriously.
Should we start a “Save Microsoft’s Real Name Campaign” project before it is too late ??
I’d have to say, .NET (the technology behind it) is nothing like Java. Infact, whats weird, is that it sounds very very similar to Taos ElateOS. Or for people who arnt aware what that is, the AmigaDE.
Its strange, but the multi language feature, JIT compiling, and the whole intermediate language thing. Its just so similar its not funny. We studied a little of it in our ERP Systems subject at uni only recently. I was amazed how much i knew about it without even reading about .NET before.
i went to a free .net seminar last may (provided by microsoft, plus food!). i hated the fact that they seemed to think that their win95 os came out in the 1980s! trust me. they had this in the slides on what time things came together for microsoft. they had 1988 with a win95 screen, 1995 with the internet, and 2001 with .net and web services. anyway… just another funny thing… they believe that .net will be successful because it is cross-platform. the speaker said (his words) “.net is cross platform. it will work on windows, pocketpc, and microsoft mobile phones”. that is why .net will succeed… i guess with 95%++ market share, you ignore the minority.
Do you need to post a link to every fucking article released about .NET or Java (you don’t do that though) to OS News?
This site is releted with OSs. right? Its called OSNews. Maybe you should change its name to .NET news or something.
I think .NET lovers can visit ZDNews by themselves every day. It is very well know that ZD is clearly on the MS side from its first day, and every week releases couple of articles bashing Java and deifying .NET. I do not want to see links to those things here.
sniff ass you little complainer – this site related to everything technology. quite you bitchin
If it is you, you don’t need to hide behind ‘anonymous’ identity if you want to insult people. It is very normal, human reaction.
So, C# and its bytecode are portable/cross-platform. Did you
think that was enough to make .Net portable/cross-platform? So why can’t I run Windows progs written in C(++) on my Linux box, after all these languages are portable/cross-platform too!? Whether or not something is portable/cross-platform depends primarily on the libraries, and WinForms (and many other things in .Net) are as portable as the Win32 API.
Yes, this is an ad hominem attack but sometimes the writer’s character (or lack thereof) is important when evaluating an article. Google on the terms “John Carroll” and ZDNet and look at this man’s ouvre. You get gems like:
News: The very real limitations of open source
News: Top ten reasons why Microsoft is a good citizen
ZDNet: Story: Microsoft-IBM Web conspiracy? I don’t think so
A response to a review of the Pocket PC entitled “Astounding” “It absolutely blows my mind how far Microsoft has come with Pocket PC” and best of all, “Consumers made Microsoft for a Reason.”
He even had the time to weigh in with a legal filing on Microsoft’s behalf in the anti-trust litigation. (http://www.mrterryc.com/tunney.htm).
Taken as a whole, his work isn’t journalism, it is public relations. A credible journalist would, at least once in his life, write about something other than how wonderful MS is and how everyone ought to quit picking on them but I can’t find even one article by Carroll that is anything other than a sloppy wet kiss on Steve Ballmer’s backside.
For a guy who calls himself “croanon” and uses a generic, untraceable yahoo email address, you sound like a supreme asshole when you accuse other people of hiding behind anonymous screen names and slinging insults, with the way you just finished ripping Eugenia like that.
Do you realize this?
Besides, if the guy read this site at all, he would know that Eugenia isn’t afraid to speak her mind using her real name
Mono will use Winelib to get Windows Forms done. Winelib is source compatible with Win32. It is not binary. It is part of Wine, but can be seperated and compiled for other processors.
This “article” is just another example of why Z-D is irrelevent. Back in 1995 they compared OS/2 to Win95, admitted that OS/2 was true 32-bit, ran Win16 apps well, and had superior memory protection. What did PC Mag conclude? “Verdict: Windows95 by a mile!” Some things will never change. They are to MS what Pravda was to the USSR.
Back in 1995 I concluded that all Z-D rags should be combined into a single app on CD called Microsoft Mouthpiece. At least they are predictable.
Java is not just a programming language.
Java is a platform.
if you do compare C# … goes Java programming language.
if you do compare .NET framework (APIs set, CLI, CLR, …) … goes Java platform (APIs set, bytecodes, JVM, …)
Java platform DO multi-programming languages
— Jython, Python runs on JVM (and of course, can share objects with program written in Java programming language) is a big example.
example of opensource Javas
VM, try Kaffe — http://www.kaffe.org
Compiler, try GCJ — http://gcc.gnu.org/java/
APIs set, try Classpath — http://www.gnu.org/software/classpath/
I said this about a week ago, but I think is relevant here, so I will say it again.
.NET will do well because there are two many people who get a boki whenever Microsoft comes out with anything “new” (personally, I usually find Microsoft’s “new” technology to be a rewrapping of the same old crap I didn’t care much about last year).
Anyway, the reason it will succeed is that too many developers are only able to use one language at a time, so they choose whatever the latest buzzword language is and use that. I don’t understand, however, the mentality that one language has to be good for absolutely every situation. People who think along these lines are the same ones who buy things like the Ronco’s Pocket Autoshop Plus (“You’ll get all your favorite mechanic’s tools and MORE. You’ll get a screwdriver, a hydraulic jack, a socket wrench, an air compressor, an egg whip, a cobbler’s bench, and so much more, all in one handy retracting tool that will easily fit into even the tightest pocket. But that’s not all. You’ll also get a crevice scraper, a lemon zester, a winery… all for 6 easy payments of $500.00).
I do use .NET at work, but I find it tedious and convoluted. However, there are times when it makes sense to use it. There are also times when it doesn’t. Parsing a file for a certain substring, for example, can be done in one line of perl. .NET can’t offer that. I can use Java to create applets, .NET doesn’t even come close (ActiveX is nothing but a virus that is kind enough to ask your permission to run).
If programmers had the same logical mindset adopted by carpenters, they would fill their mental toolbelts with a variety of different languages and use the right tool for the job. If they did that no one tool or technology could conquer the world and better code would be written.
Oh well.
i agree but only a little…You have to remember there are so many lanuguages to learn let alone master. I have seen people try to learn multiple languages but they only learn the basics and end up writing complete junk. I say pick something and go with it and master it….just think you may have some time to go out and get yourself some instead of sitting downloading porn and coding.
.NET is not just C#. It is any language that can be compiled down to IL (.NET analog for bytecodes). In other words, you CAN use Perl to write .NET code, assuming there is a Perl to .NET compiler.
Check out http://www.activestate.com/Corporate/Initiatives/NET/ to see the status of ActiveState’s Perl on .NET compiler. Really, putting ANY language you want on .NET is just an engineering issue, one made simpler by a well-defined byte code format (IL) and a standardized base runtime (the CLR).
Gil Bates: I did not accuse Eugenia behind hiding behind anonymous identity. Read my reply again. You show a typical iq of a MS supporter.
Mark: I am reading OS news for a long time. I know Eugenia.
Comments like ‘You show a typical iq of a MS supporter.’ is what is the problem with Linux and the open source movement. People like you will get us nowhere. First you say all technology has its place then you bash the MS people. I know tons of people who use C++ on windows with MFC but they also code for other OS’s. They support MS on a technology stand point so their IQ is low? I think not. The only IQ that is low is those people who must name call to make themselves feel better.
Microsoft can talk about .NET being cross-platform, and open all they want, but we should have learned by now that such things only truly exist when no one controls the code. Microsoft could decide to change the entire .NET strategy(from the PR, you’d think they already do this once a week or so), and how it’s implemented, and no one has any choice but to adapt or perish, since there is only One True Way.
With Parrot, we’ve already seen the creation of a “pirate parrot”, and the code is completely open. While the official Parrot project does have a control structure for committing chages to the VM, there is nothing stopping someone from creating a fork with a tweaked GC, or from revamping memory/register allocation.
It is a truly open system, and provides real choice. If the “official” Parrot goes off in a direction people don’t approve of, there will be the option of switching to a different version. .NET has to go in this direction before we can really be asked to believe any guarantees Microsoft makes about how it will work.
.NET is not just C#. It is any language that can be compiled down to IL (.NET analog for bytecodes). In other words, you CAN use Perl to write .NET code, assuming there is a Perl to .NET compiler.
I am aware that I can use any of an number of languages to write to .NET, but that’s not what people are talking about. They ALWAYS say, “C# has killed Java”, or something to that effect. To that sentiment, I replied that it is a narrow-minded developer who only limits his toolbelt to one tool (or one platform for that matter).
What you posted does bring up a good point though. .NET is just a platform like JVM, Windows, Linux, etc. Since it isn’t cross platform (and doesn’t look like it will be anytime soon) why do people get such a rush over it and claim it will, “Conquer the world”? .NET is far better than programming using the Win32 API, but at the end of the day (today) you’re still just programming for Windows. If that is your target, great! If not, then it is of little or no consequence.