Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Fwd: Mac OS X Java Performance
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Mac OS X Java Performance

I realized from some comments I've gotten (and an error message from a mailer that I missed!) that some intermediate state in the conversation got lost. Here's my initial respose. I apologize for the high flame temperature.

Begin forwarded message:

From: James Gosling <email@hidden>
Date: Wed Jul 30, 2003 1:31:12 PM US/Pacific
To: Todd Blanchard <email@hidden>
Cc: email@hidden
Subject: Re: Mac OS X Java Performance

What a troll-ish set of remarks based on zero knowledge and spreading massive falsehoods. Normally I don't respond to such drivel, but this time, if feels like I have to:

From: Todd Blanchard <email@hidden>
Subject: Re: Mac OS X Java Performance

No, as I understand it he is a C developer.

It is true, I have been a C developer, and I still do occasionally. But I have also developed code in C++, Fortran, Algol, SNOBOL, Mesa, Smalltalk, Pascal, Modula, Simula, Cobol, Basic, Focal, BLISS, PL/1, Pearl, several versions of Lisp, and assembler code for x86, Sparc, PowerPC, IBM 360/370, CDC 7000(CPU and PPU), PDP {8,10,11,VAX} and a bunch of stuff too obscure for me to remember at all. Of that lot I've probably written the most in C - at least 500K lines of C written by me, personally, over a couple of decades. For the last decade I've written almost zero C code and write almost exclusively in Java.

Apart from throwing T-shirts, he hasn't done any work with Java lately.

One could start a Clintonian debate on the use of the word "with". Almost everything I write is in Java these days. I mostly work on things other than the compiler or the JDK release.

This is the piece that makes my blood boil:
He designed Java so marginally capable developers could have a job. Hence all the annoying little limitations that slow down development but prevent errors (and features). He finds it too limiting to use himself. I can't really blame him.

This is so damned false I don't know where to begin. I designed Java so I could write more code in less time and have it be way more reliable. In the past I've wasted huge numbers of hours chasing down memory smashes and all the other time wasters that are so typical of what happens when writing C code. I wanted to spend time writing code, not debugging. Life is too short for debugging. All of those little "limitations" turn out to be things that make coding faster and debugging vanish.

For example, lots of newbie's coming in from the C world complain about exceptions and the fact that they have to put exception handling all over the place - they want to just write their code. But that's stupid: most C code never checks return codes and so it tends to be very fragile. If you want to build something really robust, you need to pay attention to things that can go wrong and most folks don't in the C world because it's just to damn hard.

One of the design principles behind Java is that I don't care much about how long it takes to slap together something that kinda works. The real measure is how long it takes to write something solid. Lots have studies have been done on developer productivity, and Java beats C and C++ by a factor of 2.

It's kinda like the evolution of the airplane. Once upon a time when folks scooted around in open cockpit biplanes they navigated by sticking their heads out over the side of the plane and looking down. When covered cockpits with windows were first introduced pilots didn't like them because there was no way to stick their head out. But if they had won the argument, they'd never be able to fly at Mach 1 or at 30,000 feet. Stick your head into a Mach 1 airflow and see what the bloody stump looks like. I want to fly at Mach 1. I'll take the windows.

On Sunday, July 27, 2003, at 02:55 PM, John Gage wrote:

I've forgotten, is Gosling a Java developer? If he is, why does he use a Mac? Masochism? "A state of denial"?

I use the MAC because it's a great platform. One of the nice things about developing in Java on the MAC is that you get to develop on a lovely machine, but you don't cut yourself off from deploying on other platforms. It's a fast and easy platform to develop on. Rock solid. I never reboot my machine... Really! Opening and closing the lid on a Powerbook actually works. The machine is up and running instantly when you open it up. No viruses. Great UI. All the Java tools work here: NetBeans and JEdit are the ones I use most. I tend to think of OSX and Linux with QA and Taste.
java-dev mailing list | email@hidden
Be sure to read the FAQ before posting
Do not post admin requests to the list. They will be ignored.

Visit the Apple Store online or at retail locations.

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.