On GameFAQs: Is it OK to lay my Wii down on its side?
BNET Business Network:
BNET
TechRepublic
ZDNet

April 7th, 2008

Is Java Windows for Unix?

Posted by Paul Murphy @ 3:15 am

Categories: Development, Enterprise Policy, General, Productivity

Tags: Java, Sun Microsystems Inc., Microsoft Windows, Unix, Java, Paul Murphy

Java is an incredibly successful toolset - but what is it really and how did it get to be so popular?

To understand what it is and how it got this way you have to start with the problem it was meant to solve: manufacturers working on digital consumer products like cell phones and set top boxes (intended to add internet connectivity to television sets) wanted their software to be updateable in use and able to run unchanged on multiple hardware generations.

Although digital TV has now brought the set top business back in volume, it was the cell phone that saved Java at the time - and because Java gives companies making those exactly what they need: a standardized software platform that’s essentially independent of the hardware, it’s now used on more than a billion such devices.

Think of the problem the phone makers faced as platform instability induced by rapid hardware change and it’s obvious that the PC software makers faced the same problem: platform instability, in their case brought about by Microsoft product churn. In response Sun released Java for Windows, got into a licensing deal with Microsoft, and advertised Java as the write once, run everywhere target of choice for developers.

It didn’t work out that way largely because developers soon discovered that memory and processor limitations on the average user computer coupled with bandwidth restrictions pretty much crippled the downloadable applications idea.

In response people did the obvious: moved their code from the slow and and distant client to the fast and local server - but when that worked didn’t follow through by abandoning Java.

Instead people who wanted to hang onto to working code and what they’d learned writing it presured Sun to incorporate increasingly complex libraries, work-arounds, methodologies, and related kludges into the standard release - thereby eventually producing what we have today: an enormously successful, absurdly over-complicated, utterly out of control monster devouring resources at an ever increasing rate.

In an ironic parallel Sun replicated this process with its own transition from the JavaStation to the Sun Ray. When the JavaStation, a “client” intended to run applications downloaded as Java byte codes for local execution, failed miserably because of bandwidth, local performance, and compatibility limitations Sun responded by abandoning its planned MAJC based smart display to create, instead, the Sun Ray -essentially a JavaStation with all processing moved back to the server.

Thus I’d argue that the use of Java in handhelds and digital TV support makes perfect sense: i.e. that its success in this role has been fairly earned because it’s the right tool for the job. But, I’d also argue that the rationale for the use of Java in business computing applications vanished as soon as the execution environment for those applications moved from the client back to the server - or, in other words, that it makes no sense at all to incur the overheads associated with trying to run downloaded applications on a Windows client when the application you’re writing will actually run on your Solaris server.

More generally, I’d argue first that the Unix mindset calls for spare, elegant, simple programming languages encapsulating principles that are easy to learn and can be widely applied; and second that “business Java” doesn’t meet this standard. Thus the C you learn in school is the C you find in complex applications like Solaris or Apache but the Java you learn in school isn’t what you get in heavyweight business applications where frameworks get piled on libraries piled on methodologies - producing about as convoluted, localized, over-complicated, and resource inefficient a mashup as you can get short of the Windows/BASIC pairing.

Notice that this isn’t generally true for Java as used in cell phones and similar devices. There the existence of space constraints and the lack of generality means that new hires have to learn company standards, a custom API or two, and a development framework but then work with recognizable Java code on the actual applications.

Unfortunately the image of crap piled on crap is the bottom line for business applications developed and maintained using Java tools - if you ever have the misfortune of having to deal with multiple Java development frameworks in large organizations or just get lumbered with trying to make something like Sun’s all Java identity management work you’ll soon learn exactly what I mean: this stuff isn’t Unix like at all - it’s windows like: byzantine, often disfunctional, defined by exceptions, and ultimately dependent, not on your ability to learn, but on your willingness to memorize.

Paul MurphyPaul Murphy (a pseudonym) is an IT consultant specializing in Unix and related technologies. See his full profile and disclosure of his industry affiliations.


Email Paul Murphy

Subscribe to Managing L'unix via Email alerts or RSS.

  • Talkback
  • Most Recent of 98 Talkback(s)
Net Framework etc
I put Netframework 1.1 on and immediately there's a patch. Now it's up to 3.5 and it's not installed yet. That bothers me.

Yes, Windows needs to be done over 100%. But M$ won't do that. We can all wish for this but the problem of listening to your clients is NOT a M$ option.... (Read the rest)
Posted by: atari8bit@... Posted on: 04/20/08 You are currently: a Guest | | Terms of Use
Amen brother!  Roger Ramjet | 04/07/08
Ada...  Erik Engbrecht | 04/07/08
If you have Ada programmer writing C code trying to prove that C is a bad  DonnieBoy | 04/07/08
"Ada programmer" vs "C programmer"  Erik Engbrecht | 04/07/08
Still, you have some Ada programmers try to write C code, they have a bad  DonnieBoy | 04/07/08
~200 software engineers at the peak  Erik Engbrecht | 04/07/08
Actually - probably not  murph_zZDNet Moderator | 04/07/08
Too many cooks spoil the broth ...  fr0thy2 | 04/07/08
Of course we could have more competent C programmers.  odubtaig | 04/08/08
Learning C makes you a better [anything] programmer  fr0thy2 | 04/07/08
Learn assembly first  Mark Miller | 04/07/08
Yes, good point Mark ...  fr0thy2 | 04/08/08
LOL, I remember my first C class  SnoopDougEDoug | 04/09/08
I don't know about learning  alaniane@... | 04/09/08
Assembly?  Erik Engbrecht | 04/09/08
Assembly first  Mark Miller | 04/10/08
Personally, I think any software engineer  alaniane@... | 04/11/08
Then learn reading the Java ByteCode  PhilippeV | 04/11/08
AL  atari8bit@... | 04/20/08
Ya'll are my type of programmers happy  storm14k | 04/08/08
Agreed  murph_zZDNet Moderator | 04/07/08
You have to remember that all of the major operating systems in the world  DonnieBoy | 04/07/08
My example...  Erik Engbrecht | 04/07/08
A well written Ada program  Roger Ramjet | 04/07/08
C is fast, Ruby is beautiful and Erlang is WTF?  fr0thy2 | 04/07/08
I've also played with Eiffel. Good!  PhilippeV | 04/10/08
I'm not sure why anyone...would write business applications in C.  Henry Miller | 04/07/08
C makes you have sensible data structures  fr0thy2 | 04/07/08
More to the point...  Henry Miller | 04/07/08
Try a decent coding editor then  SnoopDougEDoug | 04/09/08
Kernels and compilers  alaniane@... | 04/09/08
writing kernels  PhilippeV | 04/10/08
Coupling, Cohesion, and Java  Erik Engbrecht | 04/07/08
Cohesion and Coupling  DevGuy_z | 04/07/08
Gotta think  Erik Engbrecht | 04/07/08
Clearing the way for .Net  Anton Philidor | 04/07/08
They need unsigned byte.  CobraA1 | 04/07/08
Java for Business  t_mohajir | 04/07/08
Sure - but the bus app alternative isn't C/C++  murph_zZDNet Moderator | 04/07/08
Hard to get dates and money right...  Erik Engbrecht | 04/07/08
So where's your implementation?  SnoopDougEDoug | 04/09/08
Well, I wish you were right,  peter_erskine@... | 04/07/08
Poorly written apps  t_mohajir | 04/08/08
Although I wished languages  alaniane@... | 04/09/08
Java is a mistake,...  Henry Miller | 04/07/08
You've obviously never used Java or done any enterpise level development  xunil skcor | 04/07/08
To the contrary...  Henry Miller | 04/07/08
Good luck  jslarochelle | 04/12/08
Java inheritance  Erik Engbrecht | 04/07/08
I'll probably get crucified for saying this,  peter_erskine@... | 04/07/08
Agreed, use the right tool for the job.  CobraA1 | 04/07/08
Maybe that's the reason  alaniane@... | 04/09/08
Interfaces  CobraA1 | 04/07/08
You don't know what you're speaking about  PhilippeV | 04/10/08
The problem is that your comparing  alaniane@... | 04/11/08
I'm not comparing the syntax  PhilippeV | 04/11/08
On the contrary!  jslarochelle | 04/12/08
Terribly inaccurate picture of Java...  techboy_z | 04/07/08
I can understand this to an extent  storm14k | 04/07/08
Without going into the whole sad tale...  Henry Miller | 04/07/08
Funny thing is...  storm14k | 04/08/08
Updating ANY design is a hassle  SnoopDougEDoug | 04/09/08
Been there, done that  murph_zZDNet Moderator | 04/07/08
Amen, brother! (nt)  Henry Miller | 04/07/08
Alternative?  SnoopDougEDoug | 04/09/08
storm : What about just Ruby?  fr0thy2 | 04/07/08
I haven't done any Ruby but...  storm14k | 04/08/08
Use JRuby 1.1 and get the best of both world  jean-simon.s.larochelle@... | 04/15/08
RE: Is Java Windows for Unix?  Mark Miller | 04/07/08
Not originally for embedded systems!  PhilippeV | 04/11/08
Oak  Mark Miller | 04/12/08
As expensive as Unix is to build I say no this is not for Unix; NT5."  rtirman37@... | 04/08/08
You don't like Windows, you don't like Java SE  laxmanb | 04/08/08
John Caroll's post  t_mohajir | 04/08/08
Done - and I had the opposite reaction  murph_zZDNet Moderator | 04/08/08
RE: Is Java Windows for Unix?  SnoopDougEDoug | 04/09/08
Several answers  murph_zZDNet Moderator | 04/09/08
So what is the panacea?  SnoopDougEDoug | 04/09/08
Cobol (nt)  alaniane@... | 04/09/08
More answers - and a ya got me  murph_zZDNet Moderator | 04/09/08
Nothing better?  Mark Miller | 04/10/08
"nothing better than PHP?"  PhilippeV | 04/11/08
More considered response  Erik Engbrecht | 04/10/08
Yes, and No  sysop-dr | 04/10/08
No vacation pics -  murph_zZDNet Moderator | 04/10/08
It's been taken over by computer scientists/theorists  fafafooey | 04/10/08
FYI: fafafooey is NOT an alias for paul_murphy  murph_zZDNet Moderator | 04/10/08
RE: Is Java Windows for Unix?  Lee Doty | 04/10/08
"a fine tool for cross-platform server-side complex tasks."  murph_zZDNet Moderator | 04/10/08
The Libraries and the Platform are Not the Language  gbentley@... | 04/10/08
Java IS used A LOT on Unix/Linux!  PhilippeV | 04/10/08
And you differ from him how?  Mark Miller | 04/10/08
I replied because...  PhilippeV | 04/11/08
Net Framework etc  atari8bit@... | 04/20/08
"Get thee to a nunnery, Ophelia !", Shakespeare, Hamlet 1.3  dan_somnea@... | 04/14/08
Use JRuby and get the best of both world  jean-simon.s.larochelle@... | 04/15/08
RE: Is Java Windows for Unix?  devils_advocate | 04/18/08
RE: Is Java Windows for Unix?  atari8bit@... | 04/20/08

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

advertisement

Recent Entries

Premier Vendor Content Whitepapers, webcasts & resources from our Power Center Sponsors

Archives

ZDNet Blogs

White Papers, Webcasts, and Downloads

Meet Doc

  • Here to help you with your Document Management Needs
  • Doc is an enigma. Born to a Russian ballerina and a German electrical engineer, he grew up in various locations in the United States. He’s seen the insides of more brands, versions, and generations of printer and printer-related hardware than almost anyone.
  • To learn more about this mysterious figure check out his blog on ZDNet and his Workspace on TechRepublic. You’ll be glad you did.
  • Produced by
    ZDNet and