[rescue] Mozilla Firefox

Jonathan C. Patschke jp at celestrion.net
Mon Apr 26 15:23:32 CDT 2004


On Mon, 26 Apr 2004, Dave McGuire wrote:

>    - RS/6000 running AIX
>    - PeeCee running Linux
>    - PeeCee running Windows (with the exception above)
>    - UltraSPARC running Solaris9
>    - PPC G4 running MacOS X

MIPS/IRIX has also gotten really good recently.  OpenVMS is supposedly
also not bad, but my Alphas are sitting around unused until I make some
more room, so I can't bouch for it.

>    Of course there is overhead.  I never said "Java is as fast as C".

Here's one that'll blow your mind, Dave. :)

There's this professor at Rice, and he's exceptionally bright.  However,
every once in a great while, he's exceptionally dumb at the same time in
that abstract academic way that annoys the piss out of you.  He based an
entire lecture around how he'd done some preliminary proofs and
calculated that if you pulled the GC out of Java, the resulting code
would actually be faster than the same code written in C.

Now, this was an 8am class, so it took us a bit of a while to catch on,
but something there just didn't sit right with me.  About halfway into
the lecture, someone asked the question:

  "Uhm, Dr. $prof, if Java minus the GC is faster than C, which is, for
   all purposes, machine code, what are you proposing that the JVM is
   written in?"

<stunned silence>

  $prof: "Well, I think that concludes today's lecture."

>    Java's major technical handicap is that Sun has tried to tie the
> language to two concepts over the years...the first was the applet.
> What an abysmally bad idea.

I'm going to go out on a limb and say that they're good when you know
exactly when to use them, and that those reasons are primarily social
than technical:

  1) User needs remote-access to an application from $place that thinks
     all of "teh Intarweb" runs over port 80.
  2) User needs access to an application from a kiosk where he can't be
     guaranteed anything other than a web browser, an reengineering the
     app to work with mostly-stateless HTTP would be cost-prohibitive.

In other words, "suit bullshit", but it does happen, and Applets fill
the role quite well.  Sure you can use servlets, but that usually
requires quite a bit more retooling.

> The second was the concept of the virtual machine.  Sure, I've found
> it extremely useful for my last commercial Java project, but for
> anything else (and even for that, actually) it would've been much
> better to have the compilers generate native binary executables.

Their major selling point (in terms of mindshare) on Java is "write
once, run anywhere".  At least, that's how they see it.  Maybe once
they've convinced themselves that they've won that battle, they'll
produce a decent optimizing native-code Java compiler for Solaris.

>    There is nothing about the Java (the programming language) that
> technically ties it to the use of a virtual machine.

In both directions, actually.  The JVM has a fully-functional assembly
language and it's possible to compile programs written in other
languages, such that they'll run inside of it.  It's a platform in
itself.

Someone should make a hardware implementation of it. ;)

-- 
Jonathan Patschke  ) "Being on the Internet is not the same as being
Elgin, TX         (   famous.  That's like calling Cheetos 'dinner'."
USA                )                                    --Metal Steve



More information about the rescue mailing list