Java and those pesky Google APIs

by Paul Browne

Recently one or two people disagreed with what I had to say about the impact that the Google (and other) API's will have on Java. Considering the ratio of positive to negative comments (about 3 for and 30 violently against), I obviously need to express myself in a clearer way. The link to the original post is at the end of this article, read on before you consider flaming me.


So , deep breath , here goes.


Compare the the way you develop now , with the way you built software 10 years ago. Do you remember having to manage your own memory? Or the pain of trying to deploy your software on different machines without a JVM? Or the hassle of trying to write distributed software using Corba? Or using a text editor instead of the fine IDE's (Eclipse, Netbeans or JDeveloper - take your choice) that we have today? Would you consider building your software without a tool like Ant or Maven?


(Shudder). Things have moved on ,and I am very glad they have. Likewise, the way we develop 10 years into the future will be very different. I don't know what the future will look like, but here's a simple guess.


The biggest trend today is the move from software running on your computer , to software being delivered over the web. I'm not talking about the buzzwords being thrown about regarding 'Service Orientated Architecture' or 'Enterprise Service Bus'. I'm talking about simple API's that are available for use over the web today. Like the API's and products from Google - including their Documents and Spreadsheets, and their Authentication service.



'Everything should be made as simple as possible, but not one bit simpler' - Albert Einstein




'You Ain't Gonna Need it' - Anon, XP Mantra


As a good Agile Developer you'd probably agree with these quotes. But what if the most simple way of doing things was not to develop in Java at all? Most people don't build their own operating system - they use Linux, Windows or OS X instead. Most people don't write their own Java Server - they use Tomcat, JBoss or your server of choice. The pattern is the same. A small, dedicated core of developers builds the product, and the rest of us say 'thank you very much' and use it to get things done.


This range of 'off the shelf' solutions is increasing all the time , even before the online services arrived on the scene. As a Java developer , you've said 'thank you' , downloaded the latest version and integrated it into your solution. The time you save means you deliver other cool features instead. Java is very good at this 'download and integrate' process - not only is it a key benefit of Object Orientated Software, but Java has the widest range of solutions available (if you don't believe me , just check out Sourceforge).


Java can also let us build our solutions (either partly or fully) around the online API's. Java has great networking and XML handling ability already. In time this will become as normal as the idea of using a JVM. Great - we use these API's pretty much like we do libraries today, and we can continue developing pretty much as before, right?


Wrong.


Remember, what is the most simple way of doing things? What if the most simple way of doing things was not to use Java but to use a more simple language (like Ruby or PHP) instead? Until now there were a couple of advantages that Java had over these 'simple' (and that's a compliment) languages. When using online API's these advantages disappear, or worse, become a liability.



  • Scalability and Robustness. Enterprise Java is massively scalable (it's one of the reasons for it's complexity). But can even you outscale Google?

  • Security. Enterprises haven't (yet) learned to trust the security of online applications. This trust will be hard earned over time. But already you can make the argument that your data is safer with Google / Amazon / other service provider than on your average virus-ridden home PC.

  • Language Ties. To use the Java libraries you needed a JVM somewhere in your solution. Once you had a JVM , you might as well write your own solution in Java. But when the product you are extending is hosted elsewhere, you are free to code in the (most simple) language of your choice.

  • Always on. As long as you have a connection to the web, your programs can use the API's. Scripting languages like Ruby and Python can claim to be even more portable. Not only can they run natively in most environments, they can also be deployed via a JVM if that is your choice (under the guise of JRuby and Jython)

  • Features. Need a feature that you don't have in your scripting language? Just borrow it from Java by running in the JVM. How can Java win a 'features arms race' against that?


So do we face a form of developer apartheid, where a 'hard core' of Java Experts develop web API's that the rest of us use via scripts? Let me know what you think. Like the original blogpost said, it may not be the end of Java, but perhaps the end of Java as we know it.


More in Technology in Plain English


56 Comments

Ian
2007-01-23 06:45:01
So what you're saying is that the need for an enterprise-capable language will significantly diminish in exchange for the notorious PHP or the fragile Rails framework due to a ... web spreadsheet UI tool?
Jilles van Gurp
2007-01-23 06:52:26
Script languages are very useful for glueing things together, not for building things that need to be maintained for long periods of time or things that need to scale. Despite all the hype around some scripting languages, nothing has changed in that respect. Which is the reason why most stuff on any of google's websites does not end in .php. In fact they use a combination of C and Java for most of their stuff and tend to prefer C for things that are performance critical.


Will this change in the future? Yes and no. Recent changes in Java are currently stimulating the integration of scripting languages. My guess is that will give a huge boost to scripting languages. Ruby is a nice toy until you need to do real work and you find yourself rebuilding most of the stuff that comes for free with Java. The significance of recent developments is that that is no longer an issue if the two are properly integrated, like with jruby.


You can move back and forth between the two. Really long term, I expect something like language workbenches (check martinfowler.com for more on this) to provide a similar revolution in terms of tooling as you describe above.


As for web APIs, security and other things: this is still a very immature domain. Most web service servers are either accidents waiting to happen or isolated cases of good but non standardized practices. The current practice is a mess and prevents most mashups that are theoretically possible.


2007-01-23 08:44:41
Let's see. Google has online services that mimic, to a certain degree, products you have installed in your PC.


Does this mean the end of Java?


First, you are supposing that Google will continue to enhance their Spreadshit until they become feature by feature compatible with Excel. I doubt it. They do not have economic incentives to do that. If they charged for their service, people would prefer to use Excel, because Excel doesn't vanish if you don't continue paying for it.


Services for money can't work if their supply is not cut when you don't pay.


And nobody will pay for something they can get almost free. Or free if they use Open Office.


So anytime Google tries to charge, clients stop using the system. No way to charge, means no way to develop (unless there are developers willing to work for free).


So shrinkwrapped software is safe for now.


Now you mention that people will use scripting languages because Java is too complex and what does it have to do with Google?


By the way, Java is not so complex. Average programmers can program in Java. Those who find Java too complex, please don't write software for me, or software that I would use.


I work in Java the whole day, I select people to work with me, and I hired the top 10% of the people I interview.


Let me tell you that 50% of Java programmers looking for a job don't know how to reverse a String. The lowest scored developer who works for me scored less than 40%, and that was not because we intentionally hired deficient people, but because we waited for months and we needed these programmers.


We provide training on the job and we require full automated unit testing using JUnit, full automated functional testing using Selenium and no single check-in goes without a code review (or pair programming).


Time to develop a 300 web pages application: 6 months.


The notion that somehow Google will take over with a web Spreadshit is ridiculous. LOL

Do U
2007-01-23 09:41:52
He does not finish.
Lee
2007-01-23 10:32:13
I agree Java is on it's death bed. I expect it to finally die about 25 year after COBOL which has been on it death bed for about 20 years now.
anatta
2007-01-23 10:34:38
Scripting languages != end of Java
Have we forgotten about Groovy?
Languages like it offer scripting power without "ending Java as we know it". Instead, you get to use the most appropriate language for the task at hand.
In the future, if much of the foundational logic has been written, then maybe most developers will do their work in a scripting language like Groovy. However, that doesn't me there's no place for programming in Java.
Trevor
2007-01-23 10:36:11
it's one of the reasons for it's complexity --> it's one of the reasons for its complexity
Reedo
2007-01-23 11:38:21
I'm curious how an open-source JVM might relate to this idea. Even if Java running on a by-the-spec JVM is not the "most simple way of doing things", what if there was a JVM fork (closer to Smalltalk) designed exactly for this niche, to make RMI trivially easy, for example? It wouldn't be "Java", but it could be close enough to not scare migrators off.
Paddy3118
2007-01-23 11:46:02
You can't expect any one language to be everywhere, and do everything. If that was the aim for Java then maybe it's a return to reality.
More and more developers are giving scripting languages a try and are finding that:
* They write less, for more functionality, and less bugs.
* The sun doesn't fail to rise if you develop with dynamic typing
* Solutions scale quite well thank-you.


- Paddy.
link

Pat McDonough
2007-01-23 12:48:18
[...]Its really not as drastic as some people want to make it sound . . . relating this story to how things get done today might help get the idea across.


Today with many projects, there is an architect or a small group of people who are charged with creating and maintaining the API and/or frameworks for the application. In these types of projects, there is typically a much larger group using those APIs and frameworks to actually implement functionality for the client. For the sake of argument, let's say the proportion is 20% API developers and 80% functionality developers.


Throughout the 90s, the most robust standard that would allow you to actually take advantage of this set-up was Java. . .


Now there is a new standard that accomplishes all of those same goals, and it is web services. The platform of web services is a standard that can accomplish these goals but is much less restrictive (everything does not have to live in the JVM)


As a result, while the 80-20 dichotomy will probably be mostly unchanged in proportion and concept, it will be greatly impacted in implementation. Much of that 80% will not need the heavy solutions that we have created in the past.


However, that 20% will probably continue to look to Java to implement the robust applications that we need. Furthermore, making java open source will put it in a position to keep pace with the offerings of these newer technologies while leveraging the huge embedded base of developers that already know the platform.

Brent Crammond
2007-01-23 15:31:44
I consider Google Applications to be like a Boeing 747, when one crashes you are going to hear about it. When a light plane crashes the media echo is very limited, say a single state or a single country.


Following on from that analogy Boeing aircraft are very reliable, now that they have had time to iron out the bugs. When the first passenger jet aircraft the Comet was release it had a major design flaw and they crashed and burned. Now we don't have many crashes at all. In fact it is safer to fly a large aircraft than drive to the airport.


My question is a what point in the life cycle is Google, is it like a Comet or is it like Boeing 747 :-)


We need to think about the ramifications for software design, when looking at what has happened in the aircraft industry over the last 50 years.

Anon
2007-01-23 16:18:38
So if google bring out an online access clone, does this mean the end of java too? After all ruby exists to make web to db easier right?
Accept the fact that the original post was a nonsense.
Tim O'Brien
2007-01-23 17:39:35
Paul, keep on writing this posts and asking these questions, they are important. Too often, I think groups of Java developers tend to reinforce a collective resistance to thinking about simpler options. In my various jobs, the question is no longer "how will we do this in Java", it is "how will we do this?"....and, more often, than not the answer is not Java. This isn't to say that Java is no longer relevant, but it's time to get Java developers out of the business of considering themselves to be "Java developers".
Tim O'Brien
2007-01-23 17:42:42
@Ian,


No, that's not what Paul is arguing, and you are engaging in what is called a "Straw Man" rebuttal. Countering an argument that Paul Browne never made.


What Paul is saying is that we need to imagine a world in which the first answer is not Java, and from what I'm seeing Paul is definitely on to something.


Some of the most scaleable websites use "notorious PHP" as a foundation, and even though this might make your head spin, these companies and laughing all the way to the bank. Ditto with Rails, fortunes are being made with lightweight technologies, and fools are clinging to Java. Java has its place, but it is also defending a kingdom.

Tim O'Brien
2007-01-23 17:49:15
@Jilles van Gurp,


"Script languages are very useful for glueing things together, not for building things that need to be maintained for long periods of time or things that need to scale."


Wrong, PHP powers some of the largest web sites - Flickr for example. Just because a site doesn't end in .php doesn't mean that it isn't in PHP. Jilles, were you aware that a large number of candidates for the US Presidency are running sites based on PHP. No one can consider these to be trivial or low-traffic web sites, on the contrary they are the foundation for temporary multi-million dollar businesses with critical media exposure that need to maintain a nimble web presence.


The readership of onJava may not like what Paul is saying, but listen to him, he's on to something - the Java community is too inwardly focused.

magoo
2007-01-23 18:21:55
Without being too blunt, this is so obvious. It';s not even a java v the rest question.


I choose the appropriate tool for the job. This may be a programming language to build my own 'box of dice'. Or, at a certain level, it may be someone else's implementation of the 'box of dice'.


What business is your boss in ? Does he want what the 'box of dice' provides, or does he want you to build these boxes ?


A practical example is that I don't write operating systems, I use them (to build other things). I don't write in assembler or binary or microcode anymore, because to do what I really want to do, I don't have to. What I want is to build an application, or a website, or an application, or (heaven forbid) modify a wordpress / blogger / MT template.

'Various' developer
2007-01-23 19:40:08
I hear,but I never listen
JMcBride
2007-01-24 00:12:41
Tim O' Brien, why should we listen to nonsense?
Paul Browne
2007-01-24 03:25:20
@JMcBride
Could you explain exactly why you think it is nonsense?


@Tim
Thanks for the comments. I wonder if you'd be brave enough to post your last OnRuby post over here ;-)


@Brent
Good Analogy with the Boeing 747. My thought is that Web API's are like the low cost airlines. One crash would damage their reputation enough to put them out of business, so that gives them the incentive to keep on top of things.


@Anonymous - you're right to ask 'who's going to pay for online spreadsheets / other Web APIs'. There are lots of things that are technically possible , but it's the market that decides what actually happens.




coredump
2007-01-24 05:18:01
Oh Man, give me a break,
Last time you were trying to sell Google Excel, and predicted a "better" spreadsheet can kill Java. This time change to PHP or Ruby? We all knew that this was an old war flame that never stopped. Can you predict some new things? (for example: when will the Java gone? in next couple years or more than decade?)


My problem with what you were saying is that you only say Java is dead, but never show me another visible solution that can replace Java, and even there was another "Java" that suit your requirement, do you think you can force millions of Java developers & companies to rewrite everything with the new "Java".


Last couple years I have used PHP, Perl, Python in some small projs, and I don't think any of them can replace Java, Ruby I'm not sure, maybe in the future will be another Perl, but I don't believe a language that lack of enterprise capbility that can be used for Bank or any serious place.


If you have ever used PHP, you will know that PHP is using physical files to store session. I don't want to go into the detail with you because I don't think you really use any of these thing.


So please stop there, Can't see you keep ruin your rep. again and again.

coredump
2007-01-24 05:27:17
Again,
Yes, we all want to keep everything simple, but we have to implement the functionality first, if you have ever developed any system or be part of any project, you will know that "SIMPLE" is not that easy. first you build a "SIMPLE" system and lack of functions, then user keep ask to add more and more, suddenly you will find your system is far more complicate than a "complicate" system that you were talking about.


Can you show me one banking system that build on pure Google Excel, PHP, Python, Ruby on the rails or perl? how many total LOC? is it really simple than Java?


I used to use make to compile C/C++, and then use Ant and Maven,
Ant's build.xml is longer than makefile, and I'm tired to write the xml, do you have any beauty & simple build tools for us?


These kind of posting is really ruin both of your and O'Reilly's rep.

coredump
2007-01-24 05:46:21
Man, can't stop to argue with you,
I hate evertime people try to sell some ideas, they always compare with Java and say Java is dead and use this to get their posting popular.

Compare Java with PHP, Ruby and any other script language, they are not at the same level, Can you put your PHP scriptlet into your cellphone or PDA? Can you use your PHP to send message to other MSN user? Can your PHP provide a eclipse/NetBeans IDE/Framework? Can you PHP provide a grid computation for Risk management? Can you PHP can connect MainFrame without any other lib? Can you PHP can write a desktop applications like Limeware?


Ask yourself before writing these kind of stupid posting. Java!=JSP.

Paul Browne
2007-01-24 05:55:58

Can you put your PHP scriptlet into your cellphone or PDA?

Yes. Run it on a server. Most / All Cellphones and PDA's have Web access.
coredump
2007-01-24 05:57:16
Compare C/C++, Java is very simple, C/C++ you have think of delete/free the memory everytime after finish using the new/malloc structure/objects. it was pain when I was writing a deamon on UNIX, now with most people they don't know about this.
There was one PHP guy asked me about where the java "main" method called? Hope you are not that kind of guy.
coredump
2007-01-24 05:59:21
I'm not saying that using PHP to open the web page. and how about others? there are whole bunch of Java game on the java.com, check those before you reply me.
coredump
2007-01-24 06:04:01
Can't believe what your boss will think if he saw the posting and the reply.
if you want to regain the rep. pls answer the following question,
If Java is going to die, when and how?
If there is another "simple way" can replace Java, what is it? and how can it beat Java? How many user is using or will use it in the next couple years?


Ruby is cool, but if there is no company pay me for develop with it, why should I switch to it?

Paul Browne
2007-01-24 06:15:58

Can't believe what your boss will think if he saw the posting and the reply.

I'm my own boss, I work directly for clients. Their focus is on end results (the end web site), not what flavour of technology is used to create it.


Being out on my own (with no large organisation to shelter me), it means that I need to be more aware of 'what happens next', hence these 2 blogposts.

coredump
2007-01-24 06:17:52
That's cool, so please answer my question, what's happening in the next 2 years? Is java going to die in the next 2 years? what will replace it? Google Excel or Microsoft Excel or PHP?
Tim O'Brien
2007-01-24 06:19:43
@coredump,


More frequent posts don't make you any more cogent. You are also engaging in a Straw Man argument with Paul. Paul has never said the things that you ask him to answer.


You strike me "yet another defensive Java programmer". While Java has an established niche in the server-side development market, this niche is being challenged. Part of this challenge is going to come from application development approaches which are focused more on assembly and less on development.


No one is saying that your precious job is going away, but many are reconsidering the level of committment they have to a single enterprise platform.


If your attitude is to attack anyone who dares to ask these question, I'm certain that the economy will evolve without your input.

John Walker
2007-01-24 06:22:15
Paul,


I like the updated article in comparison with the first, but I still must disagree. There is more to the Web 2.0 movement (don't know if I like the Web 2.0 moniker, but this is Tim's site) than web-ified spreadsheets, and Java has always been on the leading edge of web enabling heterogeneous technologies.


In addition, many of those Web 2.0 projects are written in Java (maybe not for Java). From where I've been, Java gained its footing with web based implementations that were in the spirit of Web 2.0 when the web was still converting from HTML to dynamic content in 1996.


My point is that neither web based spreadsheets, nor any other application, will change Java. This is tilting at windmills a bit, imho.


There is an interesting release from Google, however, which may morph the face of Java; the Google Web Toolkit. Write in Java, run as JavaScript in any browser. If Google's weight gets behind more GWT type projects, we may be writing in java and compiling to more platforms than JRE and J2EE.


The platforming story that Sun has worked so hard to create, and keeping control of Java, may have just been staving off the inevitable, much in the way that C++ morphed and changed with its myriad distributions and compilers.

|M|C|S
2007-01-24 06:52:14
I think my english isn't as good as I need to tell you how wrong you are.

Entiendo que cada vez es más común el hecho de que un sistema consuma los servicios provistos por otro, aprovechando la inversión en desarrollo, pruebas y las opiniones de su comunidad de usuarios. Eso hace que hoy en día la integración sea uno de los puntos clave de la arquitectura de una aplicación. Sin embargo un lenguaje de scripts NO PUEDE (ni debería) reemplazar a un verdadero lenguaje de programación. Sencillamente porque están pensados para otro tipo de trabajo.
No voy a molestarme en explicar por qué una planilla de cálculo como Excel (que es un gran producto), por más que tenga acceso web, no es el reemplazo de un sistema desarrollado a medida. No vale la pena y creo que los demás lo entienden.
De todas formas, me divertí mucho con los comentarios, gracias por alegrar mi mañana.
Pete
2007-01-24 08:34:36
"If your attitude is to attack anyone who dares to ask these question, I'm certain that the economy will evolve without your input."


LOL ...as if this chit-chatting of all of us would make an difference ... the whole downtown I work - all banks, governments, insurance houses not only run Java...but most importantly IBM recommended solutions ....NO WAY they would listen to one blogging dude to start throwing everything .... to even suggest that is bordering with pure lunacy

coredump
2007-01-24 09:37:10
Hi Paul and Tim,
I'm not attacking any of you, and I'm not java defender, actually I use a lot languages/tools in my daily work: JAVA, C/C++, SQL, SQR, PHP, shell scripts, javascript, so and so on.


I just don't know what's wrong with you people, why you guys keep trying to pretend to be a prophet and keep selling the "IDEA" that after read I still don't get.


I saw you people keep saying Java is dead becuase Ruby is out or PHP will win in the future or JEE is dead because Spring..., How Ruby/PHP will provide the features that java already have and how is the learning curve, how much effort will developer put on the new language than use the familar one, how the industry will adopt it, the detail comparison between the "new" thing with Java? Nothing that I can find in the blog, everybody can have this kind of "idea", that's just a day dream after O.D.


So if you would give me a detail explain on how Ruby/PHP can beat Java, when will it be, detail comparison on the features of Ruby/PHP with Java, that will be great, I can ensure you that I won't attack the posting, instead I'll say "great".


If the world would change only becuase your single blog, you will not be here, you will the One. all the program will pray to you everyday!!!!


For now, since you are not, so please stop produce these kind of Junk.

JCN
2007-01-24 12:35:54
I think if anything changes drastically it will be a growth in the paths we can choose for development.


There will always be a need for grubby, up-to-your-elbows coding, strong-arming incompatible data streams together, etc. That's just a fact of life. As time goes on, tools will be developed to meet specific needs (thats what tools are for, after all) and those tools can be used to perform common tasks, which would make some aspects of some languages obsolete.


But really this isn't a Java conversation. This direction impacts software development as an industry, not just one language. I still feel like shoehorning Java into this conversation was designed to (though maybe not to the degree that it happened) incite reaction.


The invention of furniture you can assemble at home with an allen wrench hasn't rendered the entire trade of carpentry obsolete. If you want nice, fine furniture or have specific size requirements, you still have to seek the skills of a professional, and pay for them.

Paul Lee
2007-01-24 14:42:32
Yes 10 years ago I was managing my own memory in C++ but now with Java I don't have to worry about memory management. I've turned that task over to the C++ programmers that are continuing to improve Java. The more popular Java becomes the more demand there will be for continued improvement of Java and more work for the C++ programmers working on it and the operating systems it runs on. The percentage of developers writing C++ has certainly drop in the last 10 year but given the growth in the software industry, I wonder if the total number of C++ developers has drop. My guess is not much if at all. Sure a lot of C++ development has moved to Java but if I had decided not to make the switch there are still over 8000 C++ jobs listed on dice.com in the US.


Now the next step in the software evolution is occurring. Some developers will move on to using agile methods to develop software solution by integrating services developed in Java. If they are successful there will be increased demand for these services which means more demand for the developers developing them. In 10 more years some will still be using C++ to write compilers, virtual machines, and operating systems need to support these Java developers.


The software industry was changing in the 80's when everyone was using COBOL and in the 90's when everyone was using C++ and it continues to change with everyone using Java, and if you don't like change don't worry there are still plenty of Cobol programming jobs to be found.

JT Wenting
2007-01-24 22:47:23
"Compare the the way you develop now , with the way you built software 10 years ago. "


Let's...


"Do you remember having to manage your own memory? "


No, not for the last 10 years.


"Or the pain of trying to deploy your software on different machines without a JVM? "


Not for the last 10 years.


"Or the hassle of trying to write distributed software using Corba? "


No. Never needed to do that.


"Or using a text editor instead of the fine IDE's (Eclipse, Netbeans or JDeveloper - take your choice) that we have today? "


Not for well over 10 years.


"Would you consider building your software without a tool like Ant or Maven?"


Yup, there have been other tools and still are today that work quite well.
And the complexity of ant scripts is fast approaching the complexity of makefiles.
In fact for simple things they're more complex than the equivalent make file.


"The biggest trend today is the move from software running on your computer , to software being delivered over the web."


Wrong, the trend is going the other way again.
Web applications are rapidly approaching the point where they're harder to create and maintain than the equivalent fat client, and we'll see the end of the rush to degrade the desktop to a better looking equivalent of a mainframe terminal and return to the old client/server model.


"What if the most simple way of doing things was not to use Java but to use a more simple language (like Ruby or PHP) instead?"


Simplest isn't often the best. Sure you can hack something together in Ruby or PHP faster than you can in Java (given equivalent skills in either), but it'll be unmaintainable throwaway code.
Cheaper for prototyping maybe, useless for longterm stability (where longterm is measured in months).


You're just regurgitating your previous "Java is dead" post.


"But already you can make the argument that your data is safer with Google / Amazon / other service provider than on your average virus-ridden home PC. "


No, you can't. I wouldn't trust my corporate data to a company with a stated interest in selling that data to the highest bidder for financial gain, a company where I've no idea about how secure their storage arrays really are from intruders or disaster.
I'd rather trust my own wits and skills and those of my coworkers, where I've at least some view of what's going on and a measure of influence over things.


"As long as you have a connection to the web, your programs can use the API's. "


On my own network I've access to my data when the connection to my ISP goes down...


"Scripting languages like Ruby and Python can claim to be even more portable. Not only can they run natively in most environments,"


Only if there's a separate runtime installed for them... Same as for Java in fact. Try running a Ruby script on a machine that has no Ruby installed and see what happens.


"Need a feature that you don't have in your scripting language? Just borrow it from Java by running in the JVM. How can Java win a 'features arms race' against that? "


You'll first need to write an interpreter for your scripting language that runs in a JVM and offers such integration. Next you need to make sure every client you deploy to has it installed (and a JVM as well).
And as Java offers everything those scripting langauges offer that's worth having, with the added advantage of performance and scalability, why not just use Java in the first place?

JMcBride
2007-01-25 02:49:23
Could you explain exactly why you think it is nonsense?


Implement the sites yahoo, google, ny times, banking sites etc from a google spreadsheet! Go ahead. Take it as a challenge. Post the demo urls and let us see you eat your own dog food as they say in the US. You'll be treated as the God you already know yourself to be.

Paul Browne
2007-01-25 03:00:05
@JMcBride



Implement the sites yahoo, google, ny times, banking sites etc! ... Post the demo urls


Certainly, once you provide me with a 'Java only' mockup of each of these sites. I'll even show you how to do it (read on...)


Google , Yahoo (and I'm guessing that the CMS that the NY Times runs as well), provide an API so I don't have to rebuild it, just extend it and customise it the way that I want.


If I'm extending these API's I have the choice of using Java, PHP or Ruby. A lot of the Web2 sites are choosing not to use Java for this work, so we're now in the situation where (cheap) PHP and Ruby guys are competing directly with (expensive) Enterprise Java ones. Of course, the API's themeselves are more often than not written in Java, which brings me back to the final line of my original post:



So do we face a form of developer apartheid, where a 'hard core' of Java Experts develop web API's that the rest of us use via scripts?
Paul Browne
2007-01-25 03:07:47
@JT Wenting


I appreciate your reasoned arguments. I'm glad that you agree with me that Java (for the last 10 years) has taken away a lot of development pain that we had previously. Just as Java was a step forward in it's time, sooner or later we will take a step beyond the current Java.


I'll leave you to take up with your point 'Simplest isn't often the best' with the Agile guys.



You'll first need to write an interpreter for your scripting language that runs in a JVM

I'd check out what the JRuby and Jython guys are doing. I'd even include Groovy in that bracket - remember the subtext is 'the end of Java as we know it?
Paul Browne
2007-01-25 03:16:44
@Paul Lee


Thanks for the dose of sanity - yes even though Java may no longer be the coolest / hippest language, there will still be plenty of Jobs for us Java guys.

coredump
2007-01-25 04:40:08
Hi Tim & Paul,
Talk about the PHP, we have a internal helping system that wrote with PHP couple years ago, it choking at some point(maybe every couple months or weeks), I did some test on the test env, it was fine, I believe that this "application" was built on top of some OSS web calendar, not sure what it was, total package size is like 4MB, it really unmaintainable. It looks to me like the PHP is using files to store the session data and so at some point if the users number exceeds OS max fileIDs, the PHP will stop quitely. So there is my question:
Does PHP has debug/profiling tools that I can use for profiling the prod env? Also how can PHP website support Single Signon with Java Webapp?
coredump
2007-01-25 05:06:19
Hi Paul,
One thing I should mention to you:
Most of the bank or big companies, they put thier key business system behind the firewall, which mostly disconnected with Google/Yahoo/MSN/Amazon, some of them are LAN, so how can the company using Google API? Does they trust Google? and if something wrong, how the System Admin/developer debug/profile the Google API?


I think you should address these problems first in your blog to make it sounds reasonable.

Eric MacAdie
2007-01-25 13:12:42
To Paul Browne:
You said "Thanks for the dose of sanity - yes even though Java may no longer be the coolest / hippest language, there will still be plenty of Jobs for us Java guys."


This is part of the problem right there I think. A lot of people are look at other languages because they are "cooler" or "more fun", not because it fulfills a business need. Sometimes the software industry can be immature.


I wonder what Java would be like if everybody tried to, say, improve Struts instead of making hundreds of competing web frameworks and/or jumping ship to Ruby and PHP.

JMcBride
2007-01-25 16:06:02
Certainly, once you provide me with a 'Java only' mockup of each of these sites. I'll even show you how to do it (read on...)


Google , Yahoo (and I'm guessing that the CMS that the NY Times runs as well), provide an API so I don't have to rebuild it, just extend it and customise it the way that I want.


If I'm extending these API's I have the choice of using Java, PHP or Ruby. A lot of the Web2 sites are choosing not to use Java for this work, so we're now in the situation where (cheap) PHP and Ruby guys are competing directly with (expensive) Enterprise Java ones. Of course, the API's themeselves are more often than not written in Java, which brings me back to the final line of my original post:


I believe you said you'd do it all with google spreadsheet API. So go ahead.

Paul Browne - Technology in plain English
2007-01-25 23:18:04
@JMcBride

Certainly, once you provide me with a 'Java only' mockup of each of these sites.


Great , so you have your 'Java Only' version ready :-) I hope you used the method I suggested. Where I suggest using a combination of API's from Google, Yahoo, Amazon other product providers ...


If you want to put up 'Straw Man' arguments go on ahead.


It would be better if you could tell me the advantages that Java has over (for example) Ruby when coding against the above API's?



Paul Browne - Technology in plain English
2007-01-25 23:22:51
@Eric


You're right - it is a good and a bad thing that the Java community has so much choice.


At the moment one of the stengths of the Ruby community is that it concentrates on one framework (Rails). Given the (good) diversity of opinion in open source, I'm not sure how long this will last :-(

JT Wenting
2007-01-26 00:05:57
"I'd check out what the JRuby and Jython guys are doing. I'd even include Groovy in that bracket - remember the subtext is 'the end of Java as we know it? "


And now write those to work on a JVM without there being any Java anywhere.
After all, your scripting language heaven (rather than your divine Google spreadsheet apparently) were killing Java, weren't they?


You're contradicting yourself. I know full well JRuby and Jython exist (I've done some fooling around with them even), and you know what?
They're both written in Java, wouldn't be possible without Java.
There's no Google spreadsheet there turning Python code into Java (again that pesky word indicating a language that's dead in your reasoning) bytecode to work on a Java (oops, there we go again) virtual machine that's for a good part written in (you guessed it) Java.

JMcBride
2007-01-26 02:21:07
Great , so you have your 'Java Only' version ready :-) I hope you used the method I suggested. Where I suggest using a combination of API's from Google, Yahoo, Amazon other product providers ...


If you want to put up 'Straw Man' arguments go on ahead.


It would be better if you could tell me the advantages that Java has over (for example) Ruby when coding against the above API's?


I do not represent Java! I simply wanted to see some substance behind your statement(s). Did not Jesus show Thomas his hands! All I see is defensive comments backing down, as best you can, from a ridiculous position.
You strike me as a business type, listening to popular IT propaganda, so I'll excuse your inexperience.
I understand you are just trying to drum up business for yourself by getting your name out there but you're looking rather foolish my good man.
You've retreated from the spreadsheet centric service 'vision' to the popularly accepted SOA model that the IT industry is currently pushing.

Paul Browne
2007-01-26 02:29:18
@JMcBride



You strike me as a business type, listening to popular IT propaganda, so I'll excuse your inexperience.


My Bio is here.


@JT Wenting
Are you responding to the article? See the 2nd last line (quoted below)


So do we face a form of developer apartheid, where a 'hard core' of Java Experts develop web API's that the rest of us use via scripts
jeremiah foster
2007-01-29 04:49:30
Excellent blog post, spot on. Unfortunately I do not know enough about Java to confirm or deny its 'death' though I understand you are using the term as a metaphor. Java of course will not disappear overnight, just fail to lure creative developers the way it has.


Scripting languages and frameworks are the future, at least the immediate future. We are building network-based services where the network environment plays a big role, scripting languages thrive there.