raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Tuesday, October 30, 2007
  I hate it when comedy contains deep, disturbing insights


See here where Fake Steve Jobs compares Java to Lotus Notes. Flippant. But yet…

Java is two different things: a platform and a language. Both are going to survive for a good long time in BigCo. They too deeply en-snarled in BigCo’s internals to be excised in a single stroke.

And like Notes, Java’s corporate parent isn’t doing so well. No surprise, Java simultaneously commoditizes hardware and operating systems, leaving professional services as the only way to make money from it.

Hopefully, SUNW—oops, I meant JAVA—will continue to do better with Java the language and/or platform than IBM has done with Notes.

p.s. Yes, you (I mean you!) have written great stuff with Java. Why not? You are a programmer, it is a programming language, you can write anything you want with it. And there were people who did good things with Notes in its day. I respect you for it, even honour you for it. But don’t take it personally when I try to look at the big picture and ask where the platform is going and whether it looks like anything we’ve seen before.

p.p.s. I’ve heard from a number of people asking why I am implying that Sun and IBM aren’t doing so well, when they are thriving in a certain sense. I posted the share price for a reason: a privately held company exists for whatever reason its shareholders deem appropriate, such as employing people or building great products. A publicly held company, OTOH, has one and only one overriding mandate: returns for its investors, either through dividends or through share appreciation.

Over the last five years, Sun has done better than IBM. At the moment, 100% better. So if I were a JAVA shareholder, I would want to be very sure that Sun has a business plan to do something differently. And when picking a platform, I want to be sure that its parent isn’t going to wake up one day and ask, “So why are we doing this, exactly?”
 

Comments on “I hate it when comedy contains deep, disturbing insights:
Just keep swimming and you won't be sucked down when a ship dives.

Though I don't see java diving anytime soon (for better or worse).

And it's not like the language is at a stand-still; Neal and Ricky are playing with a closure prototype these days, and we also have fun stuff like Aspectj, JRuby and Rhino in the mix (some people are crazy about Scala, but I'm not one of them).

Regardless, any reasonably experienced developer should know more than one language, and should have a natural inclination to learn new things. If you love it so much, then you can always return to it in 20 years time and make a pretty penny as a legacy consultant.

Java 6 not being included in Leopard? I only use Java 5 at work, and I'm actually just waiting for closures in Java 7 - I might get a bit disapointed if they ditch Java 7, but by that time there's no telling what OS I'de be running anyway.
 
"But don’t take it personally when I try to look at the big picture and ask where the platform is going and whether it looks like anything we’ve seen before."

Good luck with that. It seems that some people are so caught up in Java that they cannot even discuss the possibility of Java's decline. Expect a lot of comments along the lines of: "You are completely wrong. In fact, you are so wrong that I won't even bother to discuss the specific points you raise." They won't all be like that, but many will.

Which is unfortunate. Programming languages come and go. Java is not the pinnacle of programming language design. It is inevitable that Java will decline and understanding why it does will help make the next big programming language that much better. Some people call that progress.
 
ptoland:

I don't take it personally when people write and tell me I'm wrong about Java. It isn't "declining" in a certain sense. It still "matters" in a certain sense. For a great many people and companies, the party is still going full swing.

But I like what Christian said: "Keep Swimming." Brilliant. That's the right strategy no matter what you work on. Keep moving, keep learning, stay active.

Paul Graham has an entire essay about startups succeeding when they simply don't stop.
 
Reg,
I did not mean to imply that you would take it personally, rather that many people would refuse to discuss the merits of your premise. I think many people vehemently argue about Java based on what they want to happen rather than what they have evidence for. And this applies equally to both sides of the debate.

I like what you said about seeing the big picture. I think that is a worthwhile endeavor that is entirely separate from the question of whether Joe Programmer should get up in the morning and sling some Java code. There are people who want to keep their heads down and become the best Java programmers they can be. That's great, but there are other people who want to look at the bigger picture and understand trends. More often than not, these two groups end up arguing at cross purposes.
 
I have three comments.

First, in the absence of Java, what will people run on non-Windows boxes? While perl is waning, Ruby and Python are making further inroads. But right now, Java fills a niche that it doesn't have a lot of competition for. It will of course be replaced eventually, but probably not for some time.

Second, Lotus Notes had a number of other issues, a big one was that no one knows if its an application or an environment or what. No one ever confused it with a language, and many people still think that it's a sort of email with macros.

Finally, your stock chart is misleading about both Apple and the computer industry. If you owned Apple up to about 2003/4, you were pretty bummed. The weird thing is in some respects, they're just not that important as a computer company. More than half of their revenue comes from the iPhones, iPods and iTunes. If they were making PC's, in terms of both dollar sales and unit volume they'd be a second tier player. But because of their great design, innovation and other smart choices, they have a fair amount of influence over the industry. So Apple abandoning Java may be a bellwether. On the other hand, Steve Jobs does have a history of costly arrogance.
 
> First, in the absence of Java, what will people run on non-Windows boxes?

The same things they always have? I can think of only one Java app that I ever use on any platform (an editor, and it's not all that great either).
 
“I have little patience with scientists who take a board of wood, look for its thinnest part, and drill a great number of holes where the drilling is easy.”

— Albert Einstein
 
> First, in the absence of Java, what will people run on non-Windows boxes?

The same things they always have? I can think of only one Java app that I ever use on any platform (an editor, and it's not all that great either).


As a full time Java developer, I only use Eclipse and Aqua Data Studio on a regular basis (but again, I'm running on a Windows box.)

I was thinking along more enterprisey lines: What language should I choose to write my derivatives pricing engine, assuming it's going to be deployed on a farm of 200 Linux blades?

There is no correct answer, just answers with different risks. At this point in time Java mitigates many of those. Though that certainly will change.

(JP Morgan's Kapital, was a derivatives pricing engine written in Smalltalk that was years ahead of it's time - but among other things suffered from staffing issues.)

Which speaks to Apple's supposed rejection of Java. No one runs enterprisey stuff on Macs, and despite some people really trying hard, no one is buying Java for desktop clients (Azureus, Aqua, Intellij, & Eclipse excluded).
 
"And like Notes, Java’s corporate parent isn’t doing so well. "

I have no idea what you mean by Notes corporate parent isn't doing so well. It seems to me that, Notes in and of itself, is doing OK having posted Y2Y revenue growth for three years. IBM stock is trading near all-time highs.
 
Your argument might come across a lot better by not linking to a "Notes Sucks" site that makes fun of screenshots from 10 years ago. The current Notes 8 client looks much different than the Notes 4.6 client pictured on that site, and has a lot more functionality.

(Sorry if this is a duplicate post -- there seems to be a problem with the Blogger comment engine).
 
But is any of that relevant?

There are a metric arseload of apple users out there who *NEED* java on their laptops, for lots of usually mundane reasons. They bought them because apple -promised- apple hardware would be an excellent java platform. Right now by keeping mum on what they are doing, it's also difficult to get a community effort going to port the latest OpenJDK to leopard.
 
Julian:

I knew that. But hey, this all started with comedy, so it might as well end there.

After all, it really doesn't matter whether Java today is like Lotus version four, eight, or nothing at all.

If people use it and like it, great for them. last time I checked, there are lots of people who make a living programming Notes even today. And I'm sure many of them enjoy it.
 
(JP Morgan's Kapital, was a derivatives pricing engine written in Smalltalk that was years ahead of it's time - but among other things suffered from staffing issues.)

Why the past tense? Kapital is still an active project, and an extremely profitable one.
 
I'm on a personal mission to stamp out the use of "but yet". It's redundant. Simply "but" or "yet" will work.
 
Why the past tense? Kapital is still an active project, and an extremely profitable one.

No offense intended. I don't work at JPM, and the last time I worked with someone who worked on Kapital was a few years ago.
 
Reginald:

Indeed you are right. I was a Lotus Notes programmer for a number of years, and the company I worked for still has a number of clients that it still does active Notes development for. I still have a fond memory of programming for Notes. It had its share of quirks, but it definitely had its benefits also.
 
From my understanding IBM have more java patents than Sun! Not sure if that's still true?

Anyhow Java will survive for a long time yet, just by open source.

Having recently played with Groovy and JRuby, I think either of these two may be the saviours of Java. In fact I was looking to JRuby as an alternative to Spring, but in fact found a wonderful use of Spring as well.

On the Java side of your app you can build your strongly typed interfaces. You can then have spring use AOP to create JRuby instances of those Java interfaces. Thus you factor out entire portions of java into ruby.

Now it's a nice elegant solution and to be perfectly honest it's good enough performance wise for most enterprise-y things I'm having to deal with, whilst completely removing the boundaries of me walking up to senior management of some customers and trying to persuade them to use rails or something similar (Lisp, please!)
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /