[lug] Software patents

Michael J. Hammel mjhammel at graphics-muse.org
Mon Jun 1 20:35:25 MDT 2009


On Mon, 2009-06-01 at 19:41 -0600, Zan Lynx wrote:
> Lee Woodworth wrote:
> > Nate Duehr wrote:
> >> I'm not even going to guess why Java took off... it's about the most  
> >> bloated crap I've ever seen.  Marketing money I guess.  It doesn't do  
> >> anything that a good developer library and some discipline in code  
> >> writing couldn't accomplish ten years earlier.  Its appeal still  
> >> baffles me.
> > 
> > When was the last time you seriously looked at it? Do you know what
> > dependency injection is? ORM (which is being copied for .net)? ....
> 
> He's got a point.  There's nothing Java does that cannot be done in 
> native code or in a virtual machine language like LLVM.

(haven't been following this thread, but this one caught my eye)

Having spent the last three years doing Java and JBoss (involuntarily) I
can tell you:

1. Java, the language, is a terrific object-oriented language.
2. The JVM is the second dumbest thing ever invented.
3. Web Services (for which so many people think Java was invented) is
the dumbest thing ever invented.

Java as a language is easy to grasp and use.  Injection is a joke as
implemented under JBoss.  I think any system that magically inserts code
into my code is doomed to, at the very best, annoy me.  Much of the
injection doesn't work correctly (we dropped transaction injection and
allocate it manually) and under JBossWS, in some case, leaks memory.
That's not Java's fault, but it wreaks of coffee beans (pun intended).

I ported my old XNotesPlus program from C to Java in about a week.  I
only ported the notes portion (no Todo list or other PIM stuff).  It
runs very fast and very cleanly as a GNOME System Tray application.  No
web services or fancy network code.  Just a simple app.  Java here
worked better than expected (except that ant is no make, but that's
another story).

But we've been struggling at work to figure out why the process of
calling login() on a web service interface we wrote would take up ~20MB
of memory on the server.  Granted, it's possible our code is the
culprit, but we removed all our code and had it return null and it still
takes up ~20MB.  To do nothing.  We're still digging and finding ways to
improve our code.  But so much for "memory management just works".

What Java offers is a bit of fast development for modest applications
because you don't really have to worry about memory management.  Lots of
C code is about handling memory.  Java programmers don't worry much
about that.  Until you get into big enterprise applications and have to
start mucking with the three (so far) garbage collectors available in
1.5 (1.6 apparently has a new one).  When scaled, even Java developers
have to worry about memory management.

In the end, its the job you're trying to accomplish.  Writing the grid
system we built in C would be a pain.  I do all my Java coding in vi and
debug with cscope and log4j (no IDEs) and I still pumped out code faster
in Java than I can do in C.   Java makes a good network language but the
fact that it hides 30 years of operating system advances under a JVM is
what ticks me off.  The worker nodes of our grid benefit from knowing
the gory details of the hardware and OS.  Java doesn't make that easy
(we wrote a bunch of JNI for that).  So, like I say, it depends on what
you're trying to do.

When I'm king, we'll all write in C - after someone figures out how to
manage memory for us - or Java - after someone write a native compiler.

Did anyone see that language comparison posted on Slashdot the other
night?
http://gmarceau.qc.ca/blog/2009/05/speed-size-and-dependability-of.html
Pretty interesting stuff.

-- 
Michael J. Hammel                               
mjhammel at graphics-muse.org / http://www.graphics-muse.org
------------------------------------------------------------------------------
Without software to do something useful with it, hardware's nothing more 
than a really complicated space heater.
  --- Neil Stephenson




More information about the LUG mailing list