The Beginning of the End for Java Starts(Date.Time.NOW());

by M. David Peterson

Update: Please disregard what follows. I was wrong.

Update: Dalibor Topic has chimed in three separate times, providing in-sight in regards to a) The benefits that would come if Sun were to decide to standardize the Java language and Java platform, doing so as two separate and distinct entities. b) Whether or not it is truly too late for Sun in regards to gaining ANY level of mindshare in regards to the developers behind the efforts of building dynamic languages and language extensions to the Java platform.

Thanks Dalibor! You're time spent providing this information for the rest of us is TRULY appreciated!

Also, Russ Miles has taken the time to follow-up in regards to his feelings on the matter, and how they relate directly to his reasoning for falling in love with Ruby-on-Rails ("time to market, productivity, more...".) This is a MUST NOT be missed type of post from someone who, like Dalibor, just so happens to know a thing or two about the Java language and platform.

Thanks Russ!

[Original Post]
Analysts see Java EE dying in an SOA world

Java Platform, Enterprise Edition (Java EE) is not going to survive as a major standard programming model in the next five years, predicts Richard Monson-Haefel, senior analyst with the Burton Group, and SOA is part of the reason.

Richard Monson-Haefel, Senior Analyst, Burton Group goes on to say,

In five years, Java EE will be the CORBA of the 21st Century. People will look at it and say, 'It had its time but nobody uses it any more because it was too complicated.

Huh... I'd say I was pretty damn close

NOTE: If you read the first of those last two links you'll also notice I believe there is a way for Sun to save Java for what seems to be the inevitable. But for obvious reasons, I would pay attention to what Richard Monson-Haefel has to say LONG before my own feelings on the matter.

UPDATE: The following comment from the same linked story I think speaks VOLUMES:

with the release this spring of JEE5, the Java EE platform has grown too complex to be workable for enterprise developers, who are increasingly looking at alternatives such as Ruby-on-Rails.

While I can't say I know this for certain (never actually talked to Russ about his reasoning for falling in love with Ruby-on-Rails), it would seem to me that Russ's example from yesterdays post, which uses RoR to communicate with the .NET platform via SOAP, would suggest that he saw the writing on the wall a while back, and has since adapted accordingly. I'll ping him to get some insight.

For those unaware, Russ is one of those folks who understands a thing or two about Java. ;)


Mike Cohen
2006-07-12 14:19:42

You .NET guys have been saying this for 6 years now. The end has got to be right around the corner, no?

al potson
2006-07-12 15:43:41
Java EE != Java.

RoR:Java :: Paducah(Ky):USA

2006-07-12 16:02:46
with the release this spring of JEE5, the Java EE platform has grown too complex to be workable for enterprise developer

Excuse me? Quite frankly, that statement alone indicates a complete lack of knowledge in the space.

JEE5 is a drastic REDUCTION in complexity from previous versions, across the board. Moreover, it add the new JAX-WS framework which is the first real non-suck SOAP framework in the world (though the next release of WCF looks greatly improved) -- and JDK 1.6 will add it into the core runtime. Meanwhile JBI is finally getting its legs just as BPEL is becoming all the rage.

I am not going to say that RoR won't get traction in a few areas, but the Java world is not stagnant by any stretch. .NET isn't going anywhere, but to somehow imply that Java is going to die is really quite silly.

Honestly, if I were going to look for writing on the wall, I would be looking squarely at Google Web Toolkit. I am not even sure that RoR represents a methodolgy we will even want to use for web development in another couple of years. While GWT is still a very new and low level technology, it is a hell of a base to start with and build in a whole new way. RoR represents an improvement of web development in essentially the same way we always have.

And hey, shout out for Paducah! :P

M. David Peterson
2006-07-12 16:08:30
Uhhh... To all of you...

I didn't write the report, I am just reporting on the report.

2006-07-12 16:10:25
The fact that Richard Monson-Haefel is predicting the end of J2EE is ironic. He was Mr. EJB. It's as if he sold tickets on a cruise, poked some holes in the hull, and then stood on the shore predicting correctly that the boat would sink.
M. David Peterson
2006-07-12 16:10:37

True. But answer me this... Where does Sun make the greatest amount of revenue in regards to licensing.

I'll help you out: The enterprise.

Take away the source of funding for the Java language, and where does that leave Java?

Again, I'll help you out: Dead.

M. David Peterson
2006-07-12 16:13:55

I think what this actually represents is someone who know a thing or two about Java, who has realized that the direction Sun has chosen is going to result in the death of Enterprise Java.

As per my response to al, Sun makes their revenue on Java from the Enerprise. Without revenue, their in the same position they are with,

> How do we continue to fund a project that isn't making any revenue?

M. David Peterson
2006-07-12 16:15:35

> The end has got to be right around the corner, no?

Ummm... Nope. Unless five years is right around the corner in your opinion (in mine, it is not), then... Yes.

M. David Peterson
2006-07-12 16:18:49
Once more, to all of you,

If you follow the link I mentioned above, there is a pretty clear plan as to how to save Java from the innevitable.

Of course, I say the innevitable, and each of you will just laugh it off... As you usually do.

Until, of course, it happens.

Here's a clue: Find out the facts, and fix the problems instead of pretending they don't exist. I don't *WANT* Java to die. I just see the writing on the wall, and am not willing to just blow it off as nothing. It's something that needs to be addressed, or Richards report will be seen five years from now as nothing short of prophetic.

2006-07-12 18:28:11
Yes, Ruby on Rails seems to be good at development but have you ever thought of deploying it in production environment?

Sure, Ruby on Rails is not ready for production yet. Its web server is too bad and other popular environments do not support it well enought. How long does it take to balance it? 2 years, 4 years or longer. Java has enough time to improve its complexity in development.

I think that with the improvement from PHP and Zend Framework/SolarPHP Framework, RoR will die soon. PHP and Java is proven technologies but RoR is only a toy that developers can play with it when they have spare time.
Dalibor Topic
2006-07-12 18:33:42
You're right, GNU Classpath is being written without anything but the docs. Sun does not support or contribute to free software VMs or core class libraries in any particular way.

To Sun's credit, Sun doesn't hinder the independant efforts around GNU Classpath, either. Their licensing schemes do force us to stay away from potentially useful resources for Java implementors like JSRs specification drafts, the 'Read Only, But Never Compile Or Run'-licensed Java compatibility kit, or J2SE RI sources, but that's simply the way Sun's management likes to play their funny little games.

M. David Peterson
2006-07-12 18:44:40

I'm not sure I agree with your evaluation of RoR, but its of no significance because I *DO* agree with your point that it is *NOT TO LATE* for Java EE to keep this reports determination from coming to pass.

It's going to take some changes in the way Sun handles things (

For example, They need to standardize

Some insist that they need to open source the core, but I'm not so sure I agree. The Classpath project could very easily become the Java platform answer to the Mono project, as they are nearly there already (in regards to Java 1.5), without any sort of specification beyond JavaDoc's and trial and error.

In this regard, I could care less if they open the source, if they were to standardize the langauge and the platform (two separate standards) using a standards body similar to the ECMA (which is who oversees the standardized CLI, or .NET, platform spec as well as the standardized C# spec) then they would find themselves in a MUCH better position, as all of these RoR-like projects would no longer pose a threat to the platform because folks would begin to use the Java platform to build implementations of Ruby for the Java platform, which could then be used to implement RoR, or whatever the next *big* thing is to come along.

Now, I know there are some of you who will answer back with "they *are* building implementations of Ruby that emit Java byte-codes and therefore run on the Java platform" to which I would state,

Yep. But how much FASTER could they do this if they had a spec to work against?

A TON faster. Time to market is the single most important aspect of ANY products development cycle. If Sun wants to save Java from the innevitable, they need to standardize the platform AND the language, and they need to do it in a hurry.

M. David Peterson
2006-07-12 18:51:17

It seems we crossed wire's, as I referenced the Classpath project in my last post without realization you were about to mention these efforts yourself.

So then I pose to you this question, since your opinion on this matter is of MUCH greater significance than my own:

If Sun were to standardize the Java platform and the Java language as two separate standards, would this make as a significant impact to the Classpath projects efforts as I am suggesting it would?

Dalibor Topic
2006-07-13 02:29:47
Oh, standardising Java in a vendor-independant body would be a very good thing for all sort of people using Java and writing their own implementations, no doubt about it. One could avoid the mistakes of the current approach, where the specification and the reference implementation are very closely coupled.

As I wrote over at my blog, this sort of stuff is hillarious in an 'industry standard', but seems to happen time and time again with core Java APIs, the language and the JVM.

We've not asked Sun to open up their source, for example. Begging Sun for favours has never really worked for anyone writing all those open letters. As far as I am concerned, Sun can let their code bitrot as long as they feel like it, though I'll be interested to see what can be reused if they actually ever open it up. It's their code, so it's their problem.

What is more interesting is a consitent effort to improve the specifications to a degree where they are useable, and opening up the compatibility test suites and merging it with GNU Classpath's Mauve, in order to have a simple, vendor-independant way for all interested parties to verify that the runtime they want to use fulfills the specifications.

2006-07-13 02:30:23
Thought I'd chime in with my own thoughts. Check them out at

Dalibor Topic
2006-07-13 03:49:43
As far as appeal of the JVM for the next generation of languages goes, I'm very reserved on the potential of the JVM as an attractive target platform for other languages, compared to the alternatives (CIL, Parrot, LLVM).

It's cute marketing, but it misses that people are not moving from $dynamic_language to the JVM these days, they are moving away from it.

M. David Peterson
2006-07-13 08:46:50

This is FANTASTIC information! Coming from your point of view, a Java insider from the outside looking in (can't think of a better way to say that... hope that makes proper sense), there is a level of significance that is gained that would not have been gained otherwise.

Thanks for spending the time to share this with the rest of us!

M. David Peterson
2006-07-13 08:48:49

Am reading your response now... Thanks for your time! I can already tell we're in for a real treat in regards to gaining credible information from someone who has been working in the Java trenches for a LONG time! :D

2006-07-13 13:34:05
"I didn't write the report, I am just reporting on the report."


Right. You're just a disinterested third party, simply noting with passing reference to RMH's little report. Uh huh. That's why you chose such a non-inflammatory title like, "JAVA IS DEAD NOW!" LOL
And claim you were right right right, "I'd say I was pretty damn close" when you yourself predicted Java's demise in some other blog comment.

M. David Peterson
2006-07-13 14:00:23

In particular, my follow-up comment was directed at,

>> with the release this spring of JEE5, the Java EE platform has grown too complex to be workable for enterprise developer

> Excuse me? Quite frankly, that statement alone indicates a complete lack of knowledge in the space.

Which seemed to suggest that there was a belief that it was me who made that statement, instead of me quoting that statement.

Your comment,

>> when you yourself predicted Java's demise in some other blog comment.

If you continued to read my follow-up you would have noticed that I specifically stated that this is what would happen if Sun DID NOT make changes in the way things were being handled. In the same linked comment I explained in vivid detail how, in my own opinion, this could be avoided. My final statement suggested that "if Sun does not do this, then within five-seven years Java would be dead."

Do I want Java to die?

No. I don't necessarily care all that much for Java, but I don't hate it either. In fact the single most influential developer in my life, in whom I am EXTREMELY priviliged to be able to continue to work with and under his guidance in developing various extensions to the Saxon on .NET product, is Dr. Michael Kay. As I am sure you are aware, Dr. Kay is one of the most highly respected members of the development communities in general, and specifically, the Java community. It is through study of his work, in particular Saxon Java source code (in which I began working with over two years ago as part of the Saxon.NET project) that has helped make me a better developer than I could have EVER been otherwise.

In other words, in many ways, if it wasn't for Java (the language), and the work of Dr. Michael Kay, I wouldn't understand half of what I do now.

With this in mind, to suggest I want Java to die, would be spitting in the face of the primary language that has helped make me a better overall software developer.

I don't WANT Java to die. That's why I am attempting to try and help by pulling out the areas that those folks who truly understand where the problems exisit (like Russ and Dalibor), combine this information with my own feelings on the matter, and then present the problems to the community to then properly evaluate.

It's pretty cut and dry what needs to take place for Sun to keep this from happening. I mention this several times in my post. If you would have read ANY of the words other than the ones you chose to use as a tool against me, you would already know this.

Why do people do that? Why do people purposely ignore the pieces that don't help solidify, and in fact work against their attempted argument?

Read ALL of the post, and ALL of the follow-up information please. And then make your evaluation accordingly.


M. David Peterson
2006-07-13 14:09:25
re: The title.

There are MANY ways to approach the development of a title for a piece. If you are desirous to get the attention of the GREATEST number of folks, you choose a title that is going to grab the attention of both camps -- those both for and against any particular topic. It will also grab the attention of those in the middle, who are simply interested in understanding what is meant by the chosen title.

I can accept your criticism of the chosen title. What I can't accept is your choice to re-write it into your own words that fit your definition of what it means. Which is EXACTLY what you did.

My chosen title,

> The Beginning of the End for Java Starts(Date.Time.NOW());

Your chosen re-write,


I didn't state 'Java is dead now!' What I did state is that the 'beginning of the end starts now'. I then went on to explain my reasoning for my belief, adding links to how I felt Sun could avoid this from coming to pass, to then follow-up with factual information, which enticed others to chime in who's opinions are of significant value.

None-the-less, please undertand that there was and is a solid reason for moving forward with titles such as these. They grab attention. Bottom line. If by grabbing someones attention, they are then presented with information that helps them understand better the REAL situation at hand, then the reasons for using the title are then justified.

Folks visit, they read, they walk away with truthful information as a result.

End of story.

Jacob Briscoe
2006-07-14 19:06:39
Complexity is relative! When someone says; 'Java is too complex' it makes me just laugh because that is such a blank statement! Putting a complexity blanket on Java is certainly not a fair or accurate depiction. Java continues to be the programming language of choice for alot of organizations. .NET provides no real answer to complexity, as .NET matures you will see it follow the footprints of Java; 3rd party libraries, new language features, and higher expectations.
Artur Karazniewicz
2006-07-14 22:32:36
Oh come on, such a bold statement with such a no content. Let's for the while, assume that, Richard's statement is valid - how the hell, did You prospect it into whole Java bandwagon?

I won't comment that whole Richard's SOA 'will kill java statement' because it was commented all over internet. To make long story short, SOA will NOT kill anything. Particulary java. EOT.

The second galactic stupidity is: 'ROR will kill java' statement around here since ROR inception. I'm just too tired to argue. It was commented so much times, so much arguments around... What I can say: You can call .NET WebService from Ruby? GREAT! But could someone explain me how this fact can hurt Java? I wrote transactional system
which handles hundreds Bank transactions via WebService (.NET, Java) before even anyone has heard about that whole ROR thing.

You Ruby guys should really start with core things. What about Unicode support? Anyone? Heard about I18N available in Java since jdk 1.1? No offence, but, anything without unicode support, cannot by considered as a real solution for anything but toys... Not to mention 'enterprise' solutions... ROR will replace Java, Yeah and pigs will fly...

Time-to-market? Yeah? Show me one, REAL, example of the company which backs it's products with ROR? How long it takes to write an application in ROR which is I18N enabled?


M. David Peterson
2006-07-15 08:45:00

There's a pretty big difference between the Java platform and the .NET platform. The Java platform has one "blessed" language, and that's Java. The thing to keep in mind is that each and every one of us like our personal choice of languages, and we like them for the reasons we like them, what ever that/they may be.

No matter HOW GOOD a language is (to this day, Lisp (and its derivatives. Scheme is my personal favorite, others prefer their own flavor of *choice*), the second oldest language still in production use today, is considered by many, including myself to be superior to most any other language developed since.) hackers have proven time and time again that we don't like being told how to do something, so for better or for worse, we recreate the wheel, over, and over, and over again.

RoR is a good example. The reason it's the new hip thing is the same reason Java was the new hip thing > XML/XSLT the new hip thing > Python the new hip thing > VB the new hip thing > C++ > Pascal > Scheme > Lisp < and now we're coming back around full circle.

The reason .NET is well situated as a development platform with a future, and the reason Java is not has to do with the simple fact that .NET was designed as a language neutral platform since day one. So anybody with enough brain power, desire, and creative capability can design and redesign the computing landscape in the exact same way that you and I and the rest of those that came before us have been doing for fifty some odd years.

That's not going to stop. RoR is the present representation of what's cool and hip today, but that will change tomorrow, and the day after that as well. Java hasn't and isn't going to stop the creative hacker in each of us just because the folks behind it think it should, or even because the language and platform themselves can do most, if not all of what all of the other languages and platforms can do.

It seems that people forget that writing code is a form of 'Art'. While Art is defined differently by each individual (which is the point, btw...), there is one thing we Artist's all have in common.

We like to keep changing things. We like to adapt things. We like to refine things. We like to...

I'm sure you get the point.

Now apply this to software platforms. Which platform is best suited to deal with the constantly changing climate that is the Art and Science of Software Development?

When Donald Knuth began to think about, write about, develop, and teach software development, he obviously had a choice of what to call the series of titles he would begin to publish as a result of his work.

Just in case**, the series title he chose?

> The Art of Computer Programming <

Now maybe I'm wrong, but I don't believe it was by accident, or some strange coincidence that he chose the series title that he did. So why did he choose the title?

Can't say I know for sure, but I'll give it a shot anyway...

>> The Beginning of The End, Is the End of The Beginning >> In The Beginning, Art Was Change >> If Change There Was, There Art Began >> Where Art Began, So Too Was The Artist >> Else Not Began Art, Was There Change? Let Us Compute >> Computer, Let Programs Change Where Art Begins >> Begins Art Where Change, Programs Let Computers Change Where Art Begins >> Begins Art, Where Change, Computers Let Artists Change Where Art Begins >> The Changing Art >> The Changing Artist >> The Artist is Changing The Art >> The Art of Computer Programming << Programming is Art << Art is Created by Artists. << By Artists Changing Creations, Art Form Appears << Appearance of Form, Creates Change in Art << Art is The Changing Form of Appearance << Where There Is Change in Appearance, There Is Art << Where There is Art, There Is Change << Change There Is, So Artists There Be << Be There Artists, There Is Change, Where There's Change There is Art, Where Theres Art, It Begins <<

>> The End of The Beginning is The Beginning of the End <<

** Intended for those who might not be diehard hackers. < I'm not attempting to belittle, or otherwise suggest that most who read this don't already know this.

M. David Peterson
2006-07-15 08:53:59

>> Time-to-market? Yeah? Show me one, REAL, example of the company which backs it's products with ROR?

Just one?


35 million a year, and growing, and they needed to adapt fast.


It seems they kind of like working with RoR, and to be making 35 million a year in a business that is *supposedly* dieing because of "illegal" downloads by "criminals", I'd say there not doing too badly.

>> How long it takes to write an application in ROR which is I18N enabled?

Can't say I know the answer, but I bet if anybody would know, it would be Derek Sivers and/or Jeremy Kemper (the folks behind CDBaby.)

Maybe if you ask, they would be willing to tell you?

Artur Karazniewicz
2006-07-17 05:20:25

David, for the time being, clearly states they back their servers with FreeBSD, Apache, and *PHP* ( No offence, once more, but this is perfect example of all ther ROR fever: someone, somewhere on some blog has heard that ROR is used as a business backing systems, but no details yet, and apparently, company supposed to do such a step... uses PHP actually...

You clearly showed Ruby/ROR as a replacement of Java (especially J2EE). I thought You will show Us something real, big and worth money. Ok. maybe not of size of BEA, but maybe something like: Sanchez Profile (Banking system, I work for Financial institutions thus know something about this, moreover this is area where J2EE is particulary popular)?

Look. I know that ROR is nice thing, has it's niche, and of course is better than jave in some cases. But stating that it will have something to do with java decline is pure... silly.



M. David Peterson
2006-07-17 09:33:58

I think maybe I've made the mistake of leading you to believe I think Ruby/RoR is all that and a bag a chips. To be honest, I don't. If given a choice, I will code in Scheme, XSLT, Python (fairly new to the mix), C#, and (believe it or not), Java... In that order.

The reality is that Scheme is not a high demand skill for consultants, XSLT (in some cases) is, Python (again, in some (but increasing) cases) is, C# most definitely is, and so is Java.

With the above list, the difference, isn't about what cool and popular, but what pays the bills.

That said, when you look at the past, and compare this to what the future *can* (and usually does) hold, the result tends to be a constant shift from the cool, hip, and popular languages that finally/eventually grow up, and they end up taking on a commanding marketshare as a result. Java is a good example. So is C#. Python is probably the best example, and in my opinion, is the language most likely to become the primary dynamic development language of the future.

Now as far as Unicode and I18N, you're points are well taken. The reason I stated I wasn't sure is because, quite literaly, I wasn't sure.. as in, I didn't even know this was the case (which should tell you how much I code in Ruby ;).

I have no reason to believe this isn't the case (meaning that you are mistaken in your belief) and as such, I would have to agree with you.

Python, on the other hand, does support Unicode/I18N, so in this regard it is EXTREMELY well suited to handle to ever growing base of computer users who don't fit into the EXTREMELY narrow-minded ASCII++ set of standards.

If *ANY* language poses a threat to Java, its not Ruby, it's Python. Then again, maybe Sun will embrace the already established community of Dynamic language/Byte-code compilers, Jython acting as a prime example (Groovy is another good example), and begin to offer up the list of items that Dalibor suggested are necessary pieces to "prime the pump" so to speak, breathing life back into the currently vapor-locked Carbs of the Java platform engine.

To be honest, I hope they do. It would be a good thing for EVERYBODY if Sun chose to embrace these communities by providing them a platform specification, a language specification, and open compatibility test suites, again just as Dalibor suggested.

2006-07-19 09:06:44
if (this == null) probably sums up .Net. Clearly designed, as with most MS software, by a f*cking retard
M. David Peterson
2006-07-19 15:22:28

Well I don't know about anyone else, but for what its worth, you've presented a case that would be difficult, AT BEST, to argue.

Of course, this is because I'm left staring at my screen, shaking my head, wondering where people like you come from...

When you wrote this did you walk away with a sense of "hah! I showed that guy a thing or two"?

To be fair, you did show me a thing or two. But I'm guessing what you think you showed me and what you actually showed me do != each other.

In other words,

(that._yourPointOfview != this._Reality)

But let me guess... you feel differently?

And that's certainly your right.

M. David Peterson
2006-07-19 15:29:04

What happens after the boolean evaluation? You never did actually finish your point?

For example,

if (this == null) then that
else something else

Or have you invented a more efficient if... then... else... conditional clause boolean evaluation algorithm?

2006-07-21 15:21:21
hello Java doom sayers:

Java is and remains on of the most productive enterprise development environments.

There is NO, simple *NO* thinkable way that Java will be dead in 5 years and replaced by C# or ruby or all that other me-too projects.

Java has proven itself, and thousands of companies are based on it and most of them are happy with their choice.

As to the "JAva is complex" and "Java is slow" argument: it's as complex or slow as you allow it to be!
For instance, my company is in a business where milliseconds of latency decide asbout profit and loss: and thanks to IBMs JIT compilers and Sun's hotspot our code is at least as fast and often much faster than equivalent native code (yes we measure that). And our libraries are only moderately complex, we don't use any B.S. and nobody fores us to do it.

Hence my argument is that all this blogged excitement here is of little to zero relevance to serious, mission critical, real world programming. Here, your success depends on your own skills, not on some pre-packaged framwork. Any C/C++ hacker would agree i think (same store there).

M. David Peterson
2006-07-23 11:41:46

Are you suggesting that because your code is considered "Mission Critical" it is therefore classified as "Real World"?

Oh, and just for the record, I think you've missed the point entirely.

But thats certainly your right.

M. David Peterson
2006-07-23 14:27:42
@RealWorldGuy, [Extended]

To be fair, I should clarify as to why I am suggesting you are missing the point. I worry sometimes when I make comments such as this that folks will take it to mean I think they're stupid/dumb/fill-in-the-blank with your typical "I think I'm better than you" insult. For the record, I don't feel that way at all.

To summarize my points such as to avoid the need to read 47 extension comments to my original post,

- The reason Java, both the language and the platform, faces a tough road ahead *IS NOT* because its not capable of handling what folks want to throw its direction, and instead because the platform was not designed from a language neutral standpoint, and therefore if you want to write code that is officially supported by Sun, it MUST be written in the Java language.
- For some folks, thats just fine... They're happy with Java the language AND the platform.
- For others, its not.
- On average, a language has a lifespan as a *spotlight* language for about 10 years before it officially becomes thought of in terms of "Legacy."
- If you're a C, or a C++, or a COBOL(the forgotten leader in production code deployments in the enterprise), or a Java, or whatever, just because you're not in the spotlight, doesn't mean you are no longer valuable. If developers still want to write code in these languages, they're going to.
- However, the number of new developers who are learning and adopting these languages will begin to diminish, replaced by the latest version of the "wheel", whatever that happens to be.
- Because of it's language neutrality, in this scenario, .NET isn't a wheel, it's the engine.
- Because C# is a separate specification, decoupled from the engine in which powers it down the road, in this scenario, it *IS* the wheel.
- Because Java (the language) is tightly coupled to Java (the platform) it's both the wheel AND the engine.
- With Java, when the tires begin to wear thin, and its time to think about purchasing a new set, you can't officially use anything but the *Java Tire* brand/version.
- With .NET, on the other hand, you can use whatever brand/version you might want.

So in other words, even though advancements in *tire* technology have taken place, and even though the *Java Tire* is still a good technology in which has continued to keep up with the main stream technologies, enhancing itself by building these new technologies into the tire, when visiting the tire store, you still only have one choice of tire because your engine doesn't officially support any other tires.

.NET, on the other hand, does. If I want *White Walls* because they are the new hip thing, no problem. If I want to replace my *White Walls* with something thats not so much white, and instead ANYTHING BUT white? Again, no problem.

To summarize, because Sun has tightly coupled the engine and the tires, providing little to no choice is the result when the current set of tires are all but worn out, requiring a visit to the local *Tire Store* for replacement.

Because Microsoft has separated the engine from the tire, there are a bazillion and a half tires to choose from, all offering their own advantages and disadvantages. [Update: Please see [ref:one, ref:two] links below for an extended list of know .NET languages that are known to run on MS.NET, and Mono, respectively] When its time to visit the tire store, while it might seem a bit overwhelming because of all of this *choice*, as it always has and will, the market will help limit the number of choices down to a manageable subset of choices, while offering a better variety, and an increase in competition as a result.

While I might be happy replacing the old tires with the enhanced version of the original, the more and more often I visit the tire store, the more and more envious I will become, as I will be presented with an ever increasing array of choices if I were to choose to replace the engine as well, which in doing so would allow me the ability to replace the tires next time round with whatever choice I might choose -- including the *Java Tire*, by the way, courtesy (ironically) of the Classpath project coupled with Jeroen Frijters IKVM.NET Java VM and compiler in which provides the latest and greatest of the mainstream Java language and Java platform features to users of the .NET platform.

And for all of you naysayers who believe that the combination of the Classpath project and the IKVM.NET VM and compiler isn't up to the task of providing a good and proper Java interpreter and CIL compiler, I've personally been working with the combination of these two projects for over 2 years now, and I can assure you that it most definitely is up to the task.

But don't take my word for it, listen to what Dr. Michael Kay recently had to say on the matter,


>> "I'm fully expecting the answer "no" in both cases, but I've had many
pleasant surprises with IKVMC so I was just wondering!" <<


So from this perspective, I guess my point that the Java language itself could very well be all but dead in the next five years if Sun doesn't make some changes and standardize the platform and the language such that other languages AND language implementations can compete against it -- is all but null and void.

The reason?

Take the Mono project for example -- The Mono project provides a CLR and C# compiler that competes directly against Microsoft, and does so from a cross-platform perspective -- including providing a runtime for Windows itself. The Mono project includes the IKVM.NET Java VM and CIL compiler as part of the main distribution.

With this in mind, and the fact that I can use IKVM.NET on top of MS.NET or the Mono Project -- whichever I might choose as my preference -- ironically, the language itself will more than likely live on quite nicely.

It will just be running on top of the various implementations of the .NET platform instead.
[ref:one ]
[ref:two ]

M. David Peterson
2006-07-23 15:00:28
It just occured to me how well this can be applied to some comments Sylvain made to the bottom of Kurt's recent "The Power of Free" post,

>> Most major pharmaceutical companies have to keep researching and producing for drugs even to survive. The problem is that the market for huge profits is saturated already (e.g. drug for headaches). Therefore they cannot proove their drugs are better anymore but simply not worse.

Then they start loosing patents over drugs that were very lucrative but which has costed them lots of money and they start loosing their share as generics see the light. There is a shift there as well that I would happily compare to the IT industry. <<


While generic drugs (in this example, think of the Classpath project as the generic version of the Java platform, and the Mono Project as the generic version of the .NET platform) cut away from the profits of the original designer/manufacturer, they offer a decrease in price, making these drugs more affordable, and as a result, forcing the pharmaceutical companies to push forward with the research and development of new "bigger/better/faster" drugs to replace the "old" ones.

To be fair, this doesn't always equate to a better world as a result.

But it does equate to a different world than the one before, which in and of itself is the point of this entire post.

Of course we could take this analogy even further, comparing the impact that "Generics" are having on the software development landscape, but at this point, I think I'd best just shut my trap and let things be. :D

Sylvain Hellegouarch
2006-07-24 00:15:36
I will admit that M. David's post could have sound a bit like 'trolling' which would explain the non communication found in the comments.

I am not a Java developer. I have used back in the days of the JDK 1.2 but I have never pursued after that. Why? I didn't have fun with it. Is it fair? Is it sensible? Hmmm not really no. Who cares? No one.

I believe the market is big enough for people in love with different languages.

However, and this is just a feeling not based on any facts, I think that Java has today a fairly 'not cool' image among the new wave of developers we can find out there. The reason is that today Java is mainly J2EE which is mainly about enterprise applications. The guys at Sun have forgotten the kids who start programming. Ask any teenage hacker what he thinks about Java he or she'll tell you: "It's booring and sloooooooooow!". Is it true? Of course no. Java is as efficient as one can get. Java can produce shiny application too [ ]. Why then? A few hints: [ ]

Well I believe Sun has missed the Web wagon. Sun should have not let RoR took over developers from its community. Should have not happened. But it has and I am so fed up with guys trying to defend Sun legacy over their screw up.

Thing is... look at how OSS has begun to be deployed in enterprise today. I mean 5 years ago I remember people stating it would never happened but one thing those folks missed is that today's men in charge are the kids you could find playing with Linux 10 years ago. The shift has begun and will not stop. It does not mean Oracle, Microsoft, Sun or SAP will die any time soon but it means they cannot act as if they could give the finger to their less enterprise competitors.

Java will not die no. Will it be a leader again? I'm not that sure. Java as a language does not appeal to me. J2EE as a platform does not appeal to me either. However as M. David said, I do respect the Java community for the huge difference they have made in the development field for the last 15 years.

M. David Peterson
2006-07-24 05:07:33

All VERY WELL said. Well, except for the part about the trolling... I wasn't tro...

Okay, maybe just a little ;) :D

>> I mean 5 years ago I remember people stating it would never happened but one thing those folks missed is that today's men in charge are the kids you could find playing with Linux 10 years ago. <<

BAM! Nailed it right on the head.

Thanks Sylvain! :D

cuss Germany
2007-03-29 01:05:12
Update: Please disregard what follows. I was wrong.
I do not agree. Go to