Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud.
We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
As Nat King Cole famously sang, we have to "face the music and dance..." This month's editorial is coming to you with a reader beware warning!
I've been engaged in some great debates over the last month on a variety of topics, but the one that has caught my interest is the old chestnut regarding the longevity of Java. Is it here to stay? If not, how long do we have? Quite rightly, it's being talked about and I've had the good fortune to brush shoulders with a number of big names in our industry who have given me their perspectives on the whole debate. I have my own feelings about where Java is headed and I do believe that if, as a community, we don't get our act together, we may have only five years left at the most. After talking to my counterparts, it would appear I'm being overly generous with five years.
What's happening? Well, it's our old friend C# and its relentless march toward the development community. Setting aside the old argument that due to Microsoft's dominance it may well win the day, it's interesting to look at other reasons why C# may win the battle. Let's blow away some misconceptions that you may or may not be aware of regarding this new kid.
Myth #1: C# is a Windows-only technology.
You could be excused for believing that, but did you know there's a major movement in the open source world to port the CLR (Common Language Runtime, i.e., their JVM!) to operating systems other than MS Windows? Linux, to name one. Imagine for a moment being able to run your .NET services alongside Apache on a Redhat box, seamlessly integrating into the rest of the network. This alone would be a major blow to server-side Java. It's also a subtle way for Microsoft to unofficially support the growing number of Linux seats without losing face (read www.halcyonsoft.com/news/iNET_PR.asp).
Myth #2: C# is an inferior Java clone.
This is the most dangerous one and the one you probably tell yourself in order to keep the scales tipped in Java's favor. The truth is, it's not an inferior clone; it's a different clone, with many arguing that the differences are minute to the majority of the developer community. It will be frighteningly easy for Java developers to move over to C# with no real headaches to contend with. I suspect this was always on Microsoft's mind when developing the language (read www.prism.gatech.edu/~gte855q/CsharpVsJava.html).
Myth #3: C# is for developing Web services only.
Most definitely not, and I have heard this one retorted back to me on a number of occasions. Ironically, this is the one area that could really hurt Java on the client. As you know, Java has not made any significant headway in this space due mainly to its awfully slow Swing implementation. While the recent release of JDK1.4 has brought significant performance gains, it's still nowhere near the speed of its native Windows applications with respect to fast, snappy responses (although it must be said, the speed of a Swing application on a Mac OS-X does show what could be achieved). C# is the new building block for Windows applications, the next VB! And we know how many applications popped up when VB hit the market (read www.c-sharpcorner.com/WinForms.asp).
Okay, how many of you think I've abandoned all hope for Java and have gone to the dark side? I suspect some of you are questioning my loyalties at this precise moment, wondering if I'm fit to occupy my role as EIC. Well, don't panic, I'm merely being a realist and looking at it from all angles. You'd be the first ones to complain if I buried my head in the sand and just ignored the threat. We have to look at this together and come up with a strategy that will enable us to effectively take on C#. We'll be getting a lot of heat from all over and we need to be armed with the information and prepared to go back to the drawing board and reeducate the masses. Sadly, they are being led a merry dance by Pied Piper Gates.
Allow me to cite you an example of such blind ignorance and if this doesn't scare you, then I don't know what will. I was recently involved with the Scottish government, discussing technology and what have you, where naturally the topic of Microsoft was high on the agenda. Excusing the fact that these people took a certain pride in believing they knew what was going on and loved name-dropping, the phrase that caught me off guard was the following: "Java? No one is doing that now. Microsoft is no longer supporting it."
Wow! Talk about a major miscommunication. And this from someone who controls budgets for the technology sector in Scotland. Ironically, I believe he really thinks he has his finger on the pulse of technology. It's sheer ignorance like this that scares me the most. Microsoft has successfully planted and nurtured the seed in people's heads that just because it isn't supporting Java in Windows XP, Java is dead. I have to admit I was taken aback and quite flabbergasted when I heard that retort. I really didn't know where to go with that. So much background information was obviously missing that I wasn't too sure if I would come over as patronizing and whether, ultimately, they would understand.
Sadly, this is not an isolated incident. Ever since I started writing about this topic in my editorials, I've been hearing stories from you regarding similar misconceptions and it scares me. We have a beautiful language here in Java; it has achieved industry-wide support and is pushing forward with great velocity. What can we do to support it?
You do realize we need an anthem. All great causes have an anthem. Something for us to get behind and sing!!! Suggestions gratefully received. We need a Java song!
Until next month?
About Alan Williamson Alan Williamson is widely recognized as an early expert on Cloud Computing, he is Co-Founder of aw2.0 Ltd, a software company specializing in deploying software solutions within Cloud networks. Alan is a Sun Java Champion and creator of OpenBlueDragon (an open source Java CFML runtime engine). With many books, articles and speaking engagements under his belt, Alan likes to talk passionately about what can be done TODAY and not get caught up in the marketing hype of TOMORROW. Follow his blog, http://alan.blog-city.com/ or e-mail him at cloud(at)alanwilliamson.org.
Reader Feedback: Page 1 of 6
#82
Floris commented on 5 Jan 2003
I have kept all the records of the largest IT online job broker www.joberve.com in Britain. A text search over the whole of 2002 shows:
c#: 3477 jobs
java: 65894 jobs
1:20
Relax !
#81
Guennadiy commented on 3 Dec 2002
So, David,
you are now ASP developer, just because you could not introduce Java Plug-in?
It is not ignorance, the poor guy just does not have time to understand Sun-Microsoft-IBM-e-al games, because he cannot permit himself abandoning rooms.
At best, Williamson's article is the work of a 'realist' and represents the plain facts of a perceived threat to Java technology. At worst the article is factual but also the result of a sloppy editorial decision that adds significantly to MS 'Chinese Whispers'.
I tend towards the latter view, and simply put: it's all a question of tone.
Let's leave the real debate aside for a minute, and focus on that editorial decision in an attempt to better understand its impact.
At once we are confronted with Apocalypse: 'how long do we have?... it would appear I'm being overly generous with five years'. A cynic might argue that this type of tabloid speculation is just good journalism (of a sort), designed to gaurantee a nice bulge in page impressions for the coming weeks. By this view, Williams article is just the hi-tech sibling of a moral panic contrary to his attempts to urge us against this ('Well, don't panic...').
Unfortunately, this panic adds to the 'whispers' of Java's rival's claims
and in fact challenges what one would expect to be the agenda of JDJ. This perceived challenge to the agenda, is made clear in the kind of response whereby a reader threatens to burn all his back issues.
Of course, no-one seriously believes that
the editors of JDJ are pursuing a blind, tabloid and mercenary line that ultimately bites the hand that feeds. But the question of agenda is surely key here. It would seem that many readers would expect JDJ to, at the very least, take an overtly supportive line in opposition to Java's rivals. Claims of realism are all well and good but the readership clearly demands a different kind of realism here.
I would venture to guess that the editorial intention was to court controversy in order to rouse us all to action. Unfortunately, the tone of the piece was misjudged and ran contrary to many readers expectations. The effect for many was that of disorientation, suddenly being confronted with the 'realist' notion that perhaps it was time to learn a new language.
The problem with the article is that no real 'strategy that will enable us to effectively take on C#' is offered(other than some patronising mutterings about educating the masses, and the plainly daft suggestion that we need a new song). With its Apocolyptic tone, the editors clearly made a poor decision for Java in publishing this article, especially since the medium of the internet is so prone to snowballing 'miscommunication'. The result is that we the readership and (by that process of 'chinese whispers'), the wider Java community, are left with a tone of impending doom 'being led a merry dance by Pied Piper Gates', only it seems that Williamson is strangely calling the tune.
#79
Steve R. commented on 3 Jun 2002
There's more to software development than which language to use. One you identify the costs, benefits, and risks, over the short-term and long-term, simply let the customer decide.
Example (in no way meant to be factually acurrate):
Java:
+open community standards body
+variety of software available to increase productivity
+free
-can be slow
!Sun's losses could change things
C#:
+backed by a strong vendor
+rich libraries
+fast (but obviously optimized for Intel)
-relatively closed standard, and subject to change at MS's whim
-vendor lock-in (anti-pattern)
!MS's poor record for security
!MS's monopolistic licensing practices
!upgrades "break" things
!yet another Microsoft certification "cash cow"
#78
Mark Allred commented on 3 Jun 2002
CLR, Microsoft's virtual machine has to be lightweight. The JVM has gone through and continues to go through many changes. The ONE language it supports is Java. Now imagine the CLR supporting multiple languages. How laughable to think that it can be all things to all languages.
#77
Mark commented on 2 May 2002
#1. Java has no good IDEs.
#2. VS.Net and C# are easier and more productive than Java and any of its IDEs.
3#. Java is too slow.
4#. Java GUI development is dead.
5#. C# will soon be on Linux (Uh, major important parts of the framework are still closely held by MS).
6#. VS.Net multiple languages allow developers to leverage their current language (this is only true for C++)
I'm so sick of all the FUD.
While Java may not be perfect, C# really isn't any better. Yeah, it has some neat things.
When C# VIABLY becomes available on other platforms and from other vendors on Windows then I can recommend it to customers.
Microsoft has no interest in having .Net work on any other platform other than theirs. They only have interest in making it seem like .Net will succeed on Linux. In fact they cannot have it succeed. If it does, there will be no need for them.
But as Alan pointed out, perception is more important than reality.
RE "Trouble Ahead"
Good article, Alan, but Microsoft's incredible marketing is only half of the reason to be concerned. The other half is that we in the Java community are elitists, and have thus actually resisted allowing Java to become "mainstream."
Like many in the Linux community ("Use the Force, read the source!"), many Java developers persist in believing that the only "good" Java is written from scratch. Microsoft, for all it's failings, recognizes that 75% (or MORE) of everyday business problems can be solved adequately and CHEAPLY with simple solutions achievable with 4GL tools. There are two ways to achieve a 4GL: a) Build a simple language that lets you accomplish common tasks easily while hiding the complexity; b) Build a GUI IDE overlaying a complex language (such as C++ or Java) combined with a robust set of class libraries that lets a junior developer whip out quick and dirty solutions to the most common of the dozens of requests his/her boss heaps on 'em. Perfect examples of these two approaches are Visual Basic (simple language, great IDE) and PowerBuilder (Powerful tools such as the DataWindow and class libraries can generate C++ code in the background).
SilverStream made a great stab at developing this sort of interface for Java, but fell short when Sybase successfully prevented them from emulating many features of the PowerBuilder DataWindow. Thousands of PB developers lost faith when the promise of "PB for the Web" turned out to be more hype than reality, and despite a terriffic IPO SilverStream languishes as a niche player. Perhaps frightened by their failure, no one else has truly taken up the challenge to fully create such an integrated environment.
The most interesting, sophisticated, leading-edge projects will always require top talent writing code in uncharted territory using sophisticated languages such as C++ or Java. However, until IDE's exist enabling N-tier web applications employing high-performance Enterprise Java Beans and web services to be developed by junior programmers as easily as 2-tier client-server apps, Java will continue to be relegated PRIMARILY to those specialized niches.
Wake up, folks! For the TRULY talented, opening up the Java playing field for simple tasks to junior developers will not only NOT be a threat to your career; it will instead insure the survival and credibility of Java as a mainstay and centerpiece development language for the 21st Century and beyond.
Bill Reister
VP, Applications Development
MMS Incentives, LLC
Norcross, GA 30092
#74
commented on 23 Apr 2002
#73
Ben commented on 23 Apr 2002
"VB had to be radically redesigned as a language to fit with the CLR and I imagine that functional languages are a terrible fit to the CLR as well."
You imagine because you don't have a clue. VB was a terrible language, that's why it had to be redesigned. As a former VB programmer I can tell you everyone was more than happy to see VB re-written.
#72
Dave Mikesell commented on 23 Apr 2002
"Yes... No longer techology stands becoz of its own .. Only the $$$( marketing ) keeps it in the market !!! "
I almost choked on my Wheaties when I read this. Java is the most overhyped language in the history of computing.
#71
Dave Mikesell commented on 23 Apr 2002
"Station Digital Signal Processing" in C# requires everything to be written from ground up, and this is a huge costs and time consuming.
This is why C# will not be adopted by Scientific and Engineering (Electronics, Civil, Engineering Science, Mechanical) communities at any time frame with in the next 15 years. "
Java didn't have these APIs five years ago. What makes you think it will take C# developers 15 years to develop similar APIs, especially when they have the Java APIs that they can easily port?
I think you may have meant Fred Astaire not Nat King Cole...
#69
GJ commented on 22 Apr 2002
If I want to develop in .NET , it takes me , one day to learn C# , because it is a clone of JAVA . Now I do not understand of why those Microsoft supporters hate Java. There is only one solution :
Because Java is a thousand times harder for any VB developer to understand and comprehend therefore , they hate it . VB developers "Cut & Paste" codes , they don't write real codes.
As I have mentioned above, that if C# has API's for scientific software development then I will probably write some apps using it. Since it has no API,
to support it then I better stick to Java.
Java has tremendous API's , freeware, commercial , and GPL (free-source) in Matrix Algebra, Statistics , Operations Research , Probabilities, Differential Calculus, etc, etc. Developing numerical intensive financial modelling applications saves costs because I do not have to develop , algorithm such as
"Monte Carlo" , "Range-Kutta" , "Fast-Fourier-Transform" from ground up, which are very complex. These algorithm already exists in Java. To develop such apps as "Radar Station Digital Signal Processing" in C# requires everything to be written from ground up, and this is a huge costs and time consuming.
This is why C# will not be adopted by Scientific and Engineering (Electronics, Civil, Engineering Science, Mechanical) communities at any time frame with in the next 15 years.
GJ
#68
RP commented on 22 Apr 2002
I have been in denial. Your editorial was a wake up call for me and should be for other Java developers. With the majority of J2EE EJB implementation failures causing large firms large amounts of money, Java is getting a bad wrap from executive management.
I have tried to ignore C# but more and more I have heard .NET being whispered in the circles of those who control the technological focus and budgets of companies. Personally I have heard bad things relayed from some upper management types. Statements like "Java clogs our newtworks." Of course this is not true. Poor programming and implementation have done this to one such company...not Java. But because of this and other issues which you uhave stated in your article, .NET is seriously being considered by many large fortune 500 companies.
Floris wrote: I have kept all the records of the largest IT online job broker www.joberve.com in Britain. A text search over the whole of 2002 shows:
c#: 3477 jobs
java: 65894 jobs
1:20
Relax !
Guennadiy wrote: So, David,
you are now ASP developer, just because you could not introduce Java Plug-in?
It is not ignorance, the poor guy just does not have time to understand Sun-Microsoft-IBM-e-al games, because he cannot permit himself abandoning rooms.
sean wrote: At best, Williamson's article is the work of a 'realist' and represents the plain facts of a perceived threat to Java technology. At worst the article is factual but also the result of a sloppy editorial decision that adds significantly to MS 'Chinese Whispers'.
I tend towards the latter view, and simply put: it's all a question of tone.
Let's leave the real debate aside for a minute, and focus on that editorial decision in an attempt to better understand its impact.
At once we are confronted with Apocalypse: 'how long do we have?... it would appear I'm being overly generous with five years'. A cynic might argue that this type of tabloid speculation is just good journalism (of a sort), designed to gaurantee a nice bulge in page impressions for the coming weeks. By this view, Williams article is just the hi-tech sibling of a moral panic contrary to his attempts to urge us against...
Steve R. wrote: There's more to software development than which language to use. One you identify the costs, benefits, and risks, over the short-term and long-term, simply let the customer decide.
Example (in no way meant to be factually acurrate):
Java:
+open community standards body
+variety of software available to increase productivity
+free
-can be slow
!Sun's losses could change things
C#:
+backed by a strong vendor
+rich libraries
+fast (but obviously optimized for Intel)
-relatively closed standard, and subject to change at MS's whim
-vendor lock-in (anti-pattern)
!MS's poor record for security
!MS's monopolistic licensing practices
!upgrades "break" things
!yet another Microsoft certification "cash cow"
Mark Allred wrote: CLR, Microsoft's virtual machine has to be lightweight. The JVM has gone through and continues to go through many changes. The ONE language it supports is Java. Now imagine the CLR supporting multiple languages. How laughable to think that it can be all things to all languages.
Mark wrote: #1. Java has no good IDEs.
#2. VS.Net and C# are easier and more productive than Java and any of its IDEs.
3#. Java is too slow.
4#. Java GUI development is dead.
5#. C# will soon be on Linux (Uh, major important parts of the framework are still closely held by MS).
6#. VS.Net multiple languages allow developers to leverage their current language (this is only true for C++)
I'm so sick of all the FUD.
While Java may not be perfect, C# really isn't any better. Yeah, it has some neat things.
When C# VIABLY becomes available on other platforms and from other vendors on Windows then I can recommend it to customers.
Microsoft has no interest in having .Net work on any other platform other than theirs. They only have interest in making it seem like .Net will succeed on Linux. In fact they cannot have it succeed. If it does, there will be no need for them.
But...
Bill Reister wrote: RE "Trouble Ahead"
Good article, Alan, but Microsoft's incredible marketing is only half of the reason to be concerned. The other half is that we in the Java community are elitists, and have thus actually resisted allowing Java to become "mainstream."
Like many in the Linux community ("Use the Force, read the source!"), many Java developers persist in believing that the only "good" Java is written from scratch. Microsoft, for all it's failings, recognizes that 75% (or MORE) of everyday business problems can be solved adequately and CHEAPLY with simple solutions achievable with 4GL tools. There are two ways to achieve a 4GL: a) Build a simple language that lets you accomplish common tasks easily while hiding the complexity; b) Build a GUI IDE overlaying a complex language (such as C++ or Java) combined with a robust set of class libraries that lets a junior developer whip out quick...
Ben wrote: "VB had to be radically redesigned as a language to fit with the CLR and I imagine that functional languages are a terrible fit to the CLR as well."
You imagine because you don't have a clue. VB was a terrible language, that's why it had to be redesigned. As a former VB programmer I can tell you everyone was more than happy to see VB re-written.
Dave Mikesell wrote: "Yes... No longer techology stands becoz of its own .. Only the $$$( marketing ) keeps it in the market !!! "
I almost choked on my Wheaties when I read this. Java is the most overhyped language in the history of computing.
Dave Mikesell wrote: "Station Digital Signal Processing" in C# requires everything to be written from ground up, and this is a huge costs and time consuming.
This is why C# will not be adopted by Scientific and Engineering (Electronics, Civil, Engineering Science, Mechanical) communities at any time frame with in the next 15 years. "
Java didn't have these APIs five years ago. What makes you think it will take C# developers 15 years to develop similar APIs, especially when they have the Java APIs that they can easily port?
GJ wrote: If I want to develop in .NET , it takes me , one day to learn C# , because it is a clone of JAVA . Now I do not understand of why those Microsoft supporters hate Java. There is only one solution :
Because Java is a thousand times harder for any VB developer to understand and comprehend therefore , they hate it . VB developers "Cut & Paste" codes , they don't write real codes.
As I have mentioned above, that if C# has API's for scientific software development then I will probably write some apps using it. Since it has no API,
to support it then I better stick to Java.
Java has tremendous API's , freeware, commercial , and GPL (free-source) in Matrix Algebra, Statistics , Operations Research , Probabilities, Differential Calculus, etc, etc. Developing numerical intensive financial modelling applications saves costs because I do not have to develop , algorithm such as
"Monte...
RP wrote: I have been in denial. Your editorial was a wake up call for me and should be for other Java developers. With the majority of J2EE EJB implementation failures causing large firms large amounts of money, Java is getting a bad wrap from executive management.
I have tried to ignore C# but more and more I have heard .NET being whispered in the circles of those who control the technological focus and budgets of companies. Personally I have heard bad things relayed from some upper management types. Statements like "Java clogs our newtworks." Of course this is not true. Poor programming and implementation have done this to one such company...not Java. But because of this and other issues which you uhave stated in your article, .NET is seriously being considered by many large fortune 500 companies.
I guess I'll go learn C#!
Snotman wrote: Coming from an electrical engineering/physics background, I learned Java because it allows me to build very powerful applications applicable to todays problem domain. However, I don't feel an allegiance to Java, it just seems to be one of the better choices because it also has a big market behind it so this makes economic sense.
Anyway, I have benefited from Java because I have learned a lot about OO and good software design, as well as processes to build software. I can take these skills to any language I want. So, if Java expires and something better comes along, I am not gonna fight the change( which might be considered defeatist ), but rather I will go out and learn it too.
Sothy wrote: And the wild card in this crystal-ball activity is U.S. District Judge Colleen Kollar-Kotelly.
Speaking from inside management of a large corporation in America, .NET is not taking off yet.
Will it? - Most corporations are to stick with J2EE for mission critical applications, java servlets/JSPs only for smaller applications and MS for client side development. I imagine
that American CFOs are suitably pissed with MS with their ever changing licencing policies.
Steve wrote: You obviously haven't been reading JDJ for very long or you would know that Alan does indeed develop in Java. Irregardless, you are correct that M$ is concerned (or scared) of Java. And it's not good to be on the radar of a company with the resources,power, and determination of M$.
There was a "Top 10" list about Win95 and my favorite was : It could have been raw sewage and people would buy it. That is so true. I think Alan is just trying to rally the troops. Don't think M$ is going away. They might not get it right the first time (as evident with most of their stuff), but with enough time (and all their money), they can get it right, or close enough for most.
David Van Camp wrote: Both Java & .NET are both missing an important area: cheap hosted-web sites. No free or cheap host I could find offered either .NET nor server-side Java support -- all offer Perl, PHP and some others.
Many start a websit at, say, Tripod/Lycos and use Perl/MySQL. Or buy a domain name + get hosting with Perl/PHP/MySQL for $35/yr or less!
But, Tomcat, JServ, & many Java/J2EE products & etc are free. Why aren't these sites offering them???
I think the Java alliance must convince hosting sites to add Java to thier offerings. I'm biased, but, the advantage for new webmasters to use similar languages for client-side (javascript, applets) and server-side solutions (JSP, EJB, etc.) would be an attractive option. And would increase the Java hold.
However, I'm now studing PHP since my $35/yr host doesn't support Servlets or EJBs. Bummer.
Murali Varadarajan wrote: Yes... No longer techology stands becoz of its own .. Only the $$$( marketing ) keeps it in the market !!!
yes M$ pretty rich in money so it really push it but Java is equivalently backed by heavyweights !!!!
Linux is making M$ run for money .On any day M$ will certify any of its application on non-windows that too Linux. It is not so mad to slit its own neck..So all porting etc will be a mere hacking work !!!
So bottom line. C# only on Windows.
Java on all platform. Now the question is whether all the other platform will stay !!! No in client side only three OS will be there windows,linux & mac( I luv you mac :-) )
Server side Solaris,IBM-AIX,HP,LINUX.
The real death of Java will happen if it can replace Linux ( The rest all pretty $$$ & they are not in M$ segment )
How to kill Linux. Buy Caldera or someother company. Proclaim to others that you are porting all applicat...
Swisscom, the Swiss telecom, is going into the cloud business.
Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance.
That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
CloudLinux, Inc., on Thursday released CafeFS 3, a virtualized file system for shared hosters that cages each customer within its own virtualized file system.
CageFS becomes part of CloudLinux OS at no additional charge. CloudLinux OS, the only commercially-supported Linux OS m...