Internal Java memo is right

[There are people saying that the internal memo is a hoax.  It doesn't matter if it is a hoax or not.  Its messages are still true: Sun needs to fix Java now or let IBM do it for them.]

An internal memo supposedly written by Julian S. Taylor titled "The Java Problem" is absolutely right on.  While it focuses on Solaris version of Java, it is also true for Win32 version.

1. The support model seems flawed

Java packages are released (re-released) every four or five months, introducing bug fixes and new features and new bugs with each release. These releases are upgrading packages which remove all trace of the prior installed packages and cannot be down-graded in the event of an error.

Each version of Java takes a long time to download and install so users will be hesitant to get the latest version unless they run into a situation that compells them to get a later version.  This problem is not limited to Sun.  Software industry as a whole must learn that upgrade doesn't mean wholesale replacement of old version with new.  It means ability to add and replace components safely (read undo).

2. The JRE is very large.
The JRE is significantly larger than comparable runtime environments when considering resident set size (memory dedicated to this specific program). It has been seen to grow to as much as 900M. This has a drastic effect on both performance and resource usage. It also means that multiple JREs present critical resource constraints on the servers for such thin-client systems as SunRays. Typical resident set requirements for Java2 programs include:

Hello World 9M
SMC Server 38M
SLVM GUI 60M
Component Manager 160M
TogetherJ 300 – 900M

When it comes to memory consumption, only one word can describe Java: disgusting.  While Java is not as bad on Win32, it still is bad enough to make me think twice about writing applications and utilities in Java.  Java is the king of open source languages because people will not pay for memory hogs with slow motion UI.

Stuffy XML-DEV

Adjective: stuffy
1. Lacking fresh air
2. Excessively conventional and unimaginative and hence dull

My recent post about SOSML (Son Of SML 😉 caused a small avalanche of old arguments and emotions on XML-DEV.  I was able to read only a few messages before things got too stuffy for me.

Orto: J2ME to DHTML

Orto is an interesting project that lets you convert a J2ME client into DHTML.  Its difficult to understand all of it and there seems to be many restrictions, but its seems clear that Orto allows you to write clients using Java and have it run on browsers without Java VM.  The idea itself is intriguing.

Gnome 2.2: Pretty

If you haven't heard, Gnome 2.2 is out.  What I like best about this release its sub-pixel anti-aliased text rendering.  I don't know why but I just get off on anti-aliased text just like that way I get goosebumps when I feel along the silky smooth bodyline of a Ferrari or listening to pebbles crackle while walking about a Zen garden.  Woooo.

JahShaka: open source realtime multimedia studio

Apparently a major open source project that could have as great an impact as Gimp and Gnome.  Only problem is that a wild and crazy guy named Marc is getting involved who can help make JahShaka insanely great and bring Adobe and Macromedia into harms way.  Just kidding.

Frankly, I think Marc's involvement in anything is both a blessing and a curse.  A blessing because of all the creative insights, ideas, and attitude he brings.  A curse because you will have a tornado in your office, sucking up everyone's attention and throwing them about with almost religious fervor.  In a word, fun.

Pixar is using Rackspace blade systems – with 1,024 2.8Ghz Xeon processors.  This is great for JahShaka – which I'm starting to get involved in. JahShaka is the worlds first OpenSource Realtime Editing and Effects System which takes advantage of the power of OpenGL and OpenML.  This means it can run it's amazing stuff on XBox and PS2s! [Marc's Voice]

Eclipse 2.1 M5 Released

Eclipse, open source Java IDE used by WebSphere, keeps rolling ahead.  M5, the last 2.1 milestone release, is out and its got tons of little usability features (see its list of new and noteworthy features).  I predict that Eclipse will become the second most popular IDE behind Microsoft's Visual Studio, and the most popular among open source developers.  Its popularity will move beyond the Java community to include C, C++, Perl, Python, PHP, and others.

JDK 1.5: Neutered Tiger

I have been looking at JDK 1.5 (aka Tiger) feature list and I can't help wondering if Sun is on auto-pilot or not.  Why the heck are they playing around with features like generics and enhanced for-loop when there are critical features yet to be worked on, like:

  • Smaller Footprint/Shared VM - if Java programs were cars, one would get 1 miles per galon.  Increase efficiency or bring on the train.
  • More Responsive GUI – support and extend SWT.  Who cares if Swing experts can do the same with Swing.  Idiots should be able to do it.
  • Incremental Installation – even 7-8 meg is too much.  Most Java applications need only 2-3 megs to get started.  Install whats needed to run the program and schedule the rest to trickle install or on-demand.

Wake up and smell some Java, Scott McNealy.

Update on Son of SML

Michael Champion referred to my SML proposal as Son of SML.  SOSML sounds like a rallying cry for 'XML is in trouble' crowd.  I kind of like it.  Many people have made useful comments.  Here are some of them:

Remove assignable content – this was causing confusion between attributes and contents as well as supporting mixed content difficult.

Use '=' to distinguish attribute from content once assignable content is removed, double indentation is no longer needed.  Only loss seems to be loss of structured attribute value support.  Oh, well.

Forget """ I agree that its arcane.  Python can really mess up your brain. <g>

With above changes, here are some SOSML examples:

  # comments are '#' followed by a whitespace
  circle x='1.0' y = '1.0'
    r='0.5'
    fill color='#ff0000' # red
    "some useless text as mixed content"
    text "Hello"
    text
      a href='somewhere'
        "text with a link a quote like this \" "

Mixed-content reduces readability, but thats what mixed-content crowd deserves for giving me headaches. <g>  BTW, I am not entirely attached to the backslash escape character because I am a programmer leery of his biases.

Two new and possibly creepy features I am thinking about are.

  • Use quotes to distinguish between element and content – this is to allow one to type in a sequence of elements easily.
  • Use '/' to allow element nesting in a single line.

Here is an example using above two features and # comment

  a b c d # is same as
  a
  b
  c
  d
  a/b/c/d # is same as
  a
    b
      c
        d

I am probably at the edge of going overboard and risking the original intent: easy to read and write…