(March 9, 2006) - "There have been a number of language coming up lately," noted James Gosling today at Sun's World Wide Education & Research Conference in New York City when asked if Java was in any kind of danger from the newcomers. "PHP and Ruby are perfectly fine systems," he continued, "but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems."
The Father of Java then dismissed Microsoft's C# as having had potential, but no longer: "We were afraid they were going to do something really creative - but they're hopelessly focused on one platform."
PHP (for example) is able to make things simpler because it's 100% aimed at web pages, Gosling explained. Whereas with Java, he said, "We have a balancing act: we need the simplicity but we also need power."
He called Simplicity and Power "evil twin brothers" - "Building systems that have a lot of power just attracts complexity. Because of the way that the world has become so interconnected it helps to have systems where it carries over from one domain to another. You can do web presentation stuff really well in PHP but you couldn't write a library that does, say, interplanetary navigation."
On the other hand, any discussion about Java "versus" PHP or Ruby or any other language is in many ways moot, Gosling also stressed:
"We also tried to work with all these languages ,so that Java works with PHP and works with Python, so you can do the web presentation layer in PHP and the analytics in Java. Lots of people do that."
About Jeremy Geelan Jeremy Geelan is Chairman & CEO of the 21st Century Internet Group, Inc. and an Executive Academy Member of the International Academy of Digital Arts & Sciences. Formerly he was President & COO at Cloud Expo, Inc. and Conference Chair of the worldwide Cloud Expo series. He appears regularly at conferences and trade shows, speaking to technology audiences across six continents. You can follow him on twitter: @jg21.
Reader Feedback: Page 1 of 2
jrsprice commented on 16 Sep 2009
First off, this article compares Java technology with SSI technology like php which is a server side scripting language. "Hypertext pre-processor". This article is useless in the way it's comparing these technologies. I know James Gosling said "Java is under no serious threat from php, ruby or c#" however technology changes so fast or he spoke to soon since I believe flash actionscript3(oop) has a lot of competition with java. I also agree with another comment that yes Java is SLOW... Every java applet I've encountered has some lag issue where as flash tends to perform better. Flash also can contain the most elegant and dynamic GUI's without running slow(java).
Every technology serves its own purpose. It's diverse.
John commented on 9 Jul 2007
Programming language comparison is not always meaningless. For example, for most programmers Java is a better language than VBScript. Here is our migration path in the past few years:
- ASP + COM objects (the dark age)
- Java (abandoned in favor of C#)
- C# (purely a enterprise decision)
As a language, Ruby in general can produce better products with less code, and is easier to maintain. It is also easier to achieve good OO design with Ruby.
Another way of looking at this is: C++ is a failed attempt to tag OO onto C language, and Java improves upon C++ by cleaning up the mess. From this perspective, you can see why there are other languages out there that are better than Java.
nobody commented on 19 Mar 2006
"Many, many developers are moving to .Net and C#...."
"...Especially since C# has severely erroded Java's control of the enterprise..."
"...The basic facts of Java are:
1. Easy to use
2. Useful in RTC
3. Loved by Corporate people who like the idea of cross platform idea, but this itself is just like anyother language.
4. Good set of library functions.
1. Memory hog
2. Slow Slow Slow
3. Overkill for most functions and applications
4. Over rated
A lot of FUD against Java is everywhere. But I can't believe all your anti-Java arguments until you give facts, studies, or proof.
I guess your mistook ruby to be a stone instead of a programming language.
Leigh commented on 13 Mar 2006
I use Ruby all the time and am not working on web pages. The main difference between Ruby and Java, is that I can't do lots of things in Java without taking on 10 different frameworks. Also Java has this, if its easy its bad attitude - it was only when c# came along they even started adding the most basic Syntactic sugar - but it still has a long way to go to get near Ruby or Python.
Simen commented on 13 Mar 2006
You're confusing Rails with Ruby, and that alone shows that you've never really given it a real chance.
The Cherbin commented on 13 Mar 2006
Joe Average ???
"They don't do computational 3D, they don't do complex numerics, they don't do Gui design..."
Computational 3D ? whatever? PHP does too. GUI design shouldnt be done with Java for sure. Its a complete memory hog, just look at the java GUI builders. they're written in java and they drag a machine to a halt.
Even Xforms will blow the hell out of some Java GUI.
This is about the worst written article and viewpoint I've ever read.
Give me one reason that PHP is just good for Web Programs.. Just shows these peoples ignorance, no wonder they're using java for all these applications.
One thing is I cant believe Colleges are given credit for taken a Java class, thats like given credit for Basic. Even Pascal and Kylix are much more valuable than Java.
Java's Thread Manager - if you can call it a thread manager - is just some fake piece of code pretending to be a thread manager. Just do a truss on it and you'll see NO threads. What you'll see is a bunch of unicode conversion calls.
ASP is a piece of garbage, and basically a 40 book 40 language marketing scheme rallied on by a bunch of happy go lucky programmers.
Brandon Tyler commented on 13 Mar 2006
Be careful thought. Many, many developers are moving to .Net and C#. I love it. The development environment is excellent. Although Eclipse is very nice too. ASP.NET 2.0 totally kicks PHP in the booty though.
Joe Average commented on 13 Mar 2006
I think Gosling is right on the money...
The simple fact of the matter is that php and ruby are very weak compared to other languages in terms of platforms (embedded and non), libraries, and functionality... In the regard of patterns: PHP and Ruby are perfect MVC pattern implementors... Which only can fit well in one place... The Web.
They don't do computational 3D, they don't do complex numerics, they don't do Gui design...
They plain suck for ANYthing outside of "web" junk....
The Cherbin commented on 12 Mar 2006
JAMES GROSLING GET WITH IT !
Java is basically only useful for RTC applications. It has been just dragged on and on as an acceptable language to use for any application you want becuase a CSI major can pick up easily. Its not any more portable than C, PHP, Basic, Perl, COBOL.
Once again, you can read my comments below, but after thinking about what this guy said in the article, just goes to show how computer science is taken lightly, and how the Mean population of Computer Programmers can consider such an article even worthy of print.
Ruby and C# ? who in their right mind would even use such a language, thats like using asp for webpages.
Infernoz commented on 12 Mar 2006
I think that James Gosling is talking out of his backside, C# maybe only on Windows, but he forgets that most laptops, desktops, servers run Windows!
Sun need to get very serious about Java, force those JCP lagards to make product, so that this, very late, critical stuff and important recent stuff can be put into Mustang and not leave for a very late Dolphin. I'm quite annoyed at how much stuff got left out of 1.3 and 1.4 because people sat on their hands way too much! Companies can have very long development cycles and developers like me can get quite frustrated at the lack of facilities because to facilites got massively delayed to 'risky' new java versions! I've even stated to backport some stuff, which should have been available as optional extra jars!
Trackback Added: Ruby is just for generating web pages; In a recent Java talk, James Gosling said: “PHP and Ruby are perfectly fine systems,” he continued, “but they are scripting languages and get their power through specialization: they just generate web pages.”
I find this to be a...
Zé colméia commented on 10 Mar 2006
Aff Maria, esse tio tá ficando senil.
O povo está percebendo que existem coisas melhores que o Java e o desespero começa a bater no pai da criança.
Paul commented on 10 Mar 2006
I have huge respect for James Gosling, but I think in this particular article the most important quote is this one:
"Any discussion about Java versus PHP or Ruby or any other language is in many ways moot anyway, Gosling also stressed."
Developers will write in whatever language they write in. It'll either work well for them or it won't. What's the point of "my language is bigger than your language" debates?
Even as a Java programmer, I must say that this sounds like a rather arrogant story. Especially since C# has severely erroded Java's control of the enterprise and Ruby, Perl, Python, and PHP dominate small to mid-size projects. Gosling also failed to mention the Mono project, which ports C# to non-Windows platforms. I'm not a C# fan, but thought it was only fair to mention that.
But, who knows. Maybe the companies and developers switching from Java will agree with Gosling and return Java to its former glory. I'm not going to count on it though.