“Given the speed at which technology changes, the world is much different than it was even five years ago. Consider this, for example: By the end of the year, two platforms–J2EE and .Net–will essentially control the programming languages market. J2EE already commands large market share, while Microsoft has moved all of its languages over to .Net.” Read the rest of the editorial at ZDNews.
All this hype about the CLR runtime supporting most languages has really gotten to me! Alot of the *advantages* that I have heard about that .Net has over J2EE are yet to be proven. I will believe that the .Net runtime is portable and that most significant .Net applications will run on a multiple array diverse platforms and devices when I see it, and I will believe that the CLR is a runtime that will allow today’s most popular languages to be compiled for it when I see a GCC backend created for it (you know someone will try)! Until then, spare me the vapor!
From the article:
> So today’s developers will use one of three languages:
> Java, C# or VB.Net.
[Morpheus]
You think that’s air you’re breathing now?
[/Morpheus]
I’d suggest that C/C++ isn’t going anywhere for some time.
You still need a programming language that spits out native code, like for writing the CLR itself.
As far as Java is concerned, can you write at least moderately large client-side applications (meaning GUI) for the desktop in Java and have it run at a respectable speed? How does the speed compare with .Net/CLR client-side apps?
Personally, I don’t give a damn if it runs on 3 million different platforms – if it runs slower than snot on a doorknob, what good is it?
Ada95 is used lots more than people understand. Have you ever flown on a Boeing jet?
Then your life depended on the Ada programs that controlled every aspect of the airplane.
Have you ever been on a high speed train? Ada gets used where “failure is not an option”
Ada was designed for embedded systems, which makes it one of the fastest languages out there.
Java and C# will never run a nuclear power plant, they will never control a jet or a train.
When some dip $hit tells me Java and C# will rule the world……….. well lets just say this article is absolute marketing crap.
As far as speed is concerned, I think that Oracle proved it is quite possible to achieve good performances. Now if they could only package their jvm with Linux and a good GUI, they could sell that and directly fight Windows+.NET
FWIW, something these authors seem to miss is that VS.NET compiles C++ to CLR, as well as C# and VB. The documentation is very, very sparse, but it works.
Also, a bigger problem than creating a CLR backend for GCC (which would probably be fairly simple) is creating the run-time environment for it. IHMO, this is where MS really has us where they want us. The Java VM is well documented; MS are probably not publically documenting theirs, are probably patenting a boatload of obvious concepts relating to it.
Pro-Competition: “Also, a bigger problem than creating a CLR backend for GCC (which would probably be fairly simple) is creating the run-time environment for it. IHMO, this is where MS really has us where they want us. The Java VM is well documented; MS are probably not publically documenting theirs, are probably patenting a boatload of obvious concepts relating to it.”
From my understanding, the Mono project will provide the runtime environment (at least for Linux). If it is possible to create a CLR backend for GCC, why isn’t DotGNU or the Mono group doing it? Maybe they are, but I have heard nor read anything about it. If they are, someone please correct me. But if these open source advocates want to be able to utilize this new platform without rewriting all of their code, then it would seem obvious to me that the FIRST thing that should be done is to create a GCC backend for the CLR, and then to port libc et. al to this brave new platform.
I haven’t read too much on .NET, but from everything I have heard about this “next step in the evolution in programming” this should be possible. Again, someone please correct me if it is not. If it isn’t possible, however, PLEASE stop handing me this poop about the fact that .NET’s CLR will allow us to utilize the platform without having to rewrite everything from scratch.
I tell you what, I am a big java fan, but if it is possible to easily port all of my favorite open source utilities (with its supposedly wonderful ability to support standard C/C++) to .NET, and thus allows me to run all of these wonderful programs on both Windows AND Linux/*BSDs without a recompile, I will be impressed as all hell and will become a true believer. THEN I will have seen something that Java can not do. Until then, the only thing I have truly seen .NET have over Java is speed, and then only on the Windows x86 platform. And if you don’t mind the lack of portability, why the heck are you interested in a bytecode oriented runtime in the first place?
Does this guy really think all developers will be using .NET or Java, please. This author obviously is in the wrong industry.
Magpie,
I hope you are not confusing me with a .NET evangelist. ;^) I use it at work because I have to, but I would not use it for my own projects, for several (non-technical) reasons.
Although I don’t know, I assume that DotGNU and Mono are working on a GCC backend, but it is useless without a runtime environment. The architecture is so different from traditional models that I doubt it is possible to wedge it into an existing framework.
Fortunately, since I don’t support the whole idea, I don’t have to add this to my list of things to worry about. ;^)
Pro-Competition,
I actually have nothing against .NET… in fact, I am “pro competition” as well, and I am glad to see someone is giving Java and Sun a run for their money. It’s about time. I just have a problem with the fact that lots of people are already claiming that .NET has solved a lot of the problems Java ran into (such as the support for all or most of today’s popular languages) and that .NET applications will run on all significant platforms, without proof. Companies like Microsoft always over-hype their products, what I wonder at is that people continually believe every word they say… even if it DOES seem more likely that MS is on the up and up this time, I am going to have to see it before I believe it
.NET FCL and CLR will be the runtime environment for Blackcomb. Why do you think MS is pushing it out now already?
.Net is Microsoft’s attempt to segment the Java market and destroy Java. It will not work!
.Net will live on Winblows and Java will live on Winblows and everywhere else.
When a developer wants true cross platform that’s scalable and secure, they will use Java.
ciao
yc
You can get compilers both free and commercial that will compile your Ada code to Java byte code.
So code in one language, get a fast executable, or convert it to byte code and feed it to your jvm.
RE: Somebody – “I just have a problem with the fact that lots of people are already claiming that .NET has solved a lot of the problems Java ran into (such as the support for all or most of today’s popular languages)”
There are more languges supported by the JVM than .NET could hope to have ( http://flp.cs.tu-berlin.de/~tolk/vmlanguages.html ). .NET is not so much a technology as a marketing ploy, and just as they have always done, MS is lying through their teeth about it.
I have used C# at work ever since MS made VS.NET available on their MSDN site (mid January). I still choose to use Java for serious cross platform projects because it is faster that C# (at least for what I’m doing), has better libraries and it supports Linux (which also runs faster than MS products).
C#, CLR, .NET, MSIL, Windows, etc. are good for people who don’t know enough to understand that there are other options out there, for the rest of us, there are a ton of better (and cheaper) options out there.
“There are more languges supported by the JVM than .NET could hope to have.”
That may be true right now, but…
In JPython, for example, can you use the Java class libraries? In .Net, any language can access objects from other languages. You can create a base class in C#, sub-class it in VB, and then instantiate and use it in C++.
OK, I’ll admit I haven’t tried this, but that’s te idea of multiple languages in .Net. Not simply compiling multiple languages to the CLR, but actually letting them smoothly interoperate.
From what I have read .NOT er .NET does not really allow you to use any language.
They have to be changed to conform to the framework. Thus you end up with Ada# and Python# etc.
period
From what I have read .NOT er .NET does not really allow you to use any language.
They have to be changed to conform to the framework. Thus you end up with Ada# and Python# etc.
Yup. They must become C# skins.
If you think that Java is faster than C# in any aspect, then you are on crack. C# blows Java away in this area. There is absolutely no comparison.
-G