Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

Java is dying

By MSBob in Op-Ed
Thu Jul 19, 2001 at 07:39:36 AM EST
Tags: Software (all tags)

You don't need to be a Kreskin to predict Java's future. The hand writing is on the wall: Java faces a bleak future. In fact there won't be any future at all for Java because Java is dying. Things are looking very bad for Java. As many of us are already aware, Java continues to lose market share.

No I'm not about to troll Kuro5hin but the point stands that as of today I see Java as a hyped, yet very endangered technology. Alas there is a solution at hand. I think that java's only chance for long time success is, wait for it... domination on the desktop!

Yes, I know how perverse the above statement sounds. Remember though, server side Java is under a direct threat from Microsoft and its .NET initiative. .NET is targeted at competing head to head with J2EE and given the enormous mindshare of MS developers and the proportionally miniscule Java mindshare it's safe to say that the threat of .NET is quite real. Not to mention that the ability to leverage Windows functionality in enterprise application development will be quite appealing to server side developers.

I realise that Java with its current VM technology is a no hoper on the desktop and Swing performance is subpar to native widgets. What's the solution? Make Java widgets native. No, I don't mean turning Swing widgets into wrapper classes akin to AWT. Swing widgets have to be native. Yes, my friends I'm talking about a Java based operating system here!

Sun made an attempt at creating a Java based OS called, you guessed it, JavaOS. JavaOS got canned in 1999 for reasons that are still unclear to me but were mostly to do with JavaOS miniscule market penetration. While this was true (I never did come across a single JavaOS based device) there is one advantage that JavaOS had over other up and coming OSes. Well, market penetration aside Java now had a significant developer mindshare. This is probably as important as getting a large consumer base. Both consumers and application developers are required for a successful OS launch. Sun at least has the latter. It would have been a smart move to start promoting JavaOS on Sun hardware to begin with (as a fast and lean J2EE platform) and move on to consumer devices once the OS and Java gain maturity. Instead Sun approached the issue from the wrong end and ultimately failed. A server OS needs to be robust and scalable but in terms of packaging and ease of use you can get away with more than if you target a home user. JavaOS would have had much easier time in the server space.

Now coming back to the topic at hand, here's how a Java based OS could save Java. Java's memory consumption is pretty awful not because Sun developers are terribly lousy but because Java needs to wrap and ofter reimplement functionality that underpins the OS it runs on. A good example of that is the localisation framework. Instead of using platform specific localisation Java reimplements it in its class libraries because it's easier than trying to extrapolate the least common denominator across so many platforms. Same goes for GUI. Swing is big and slow because it needs to do all that a windowing toolkit does using just the simplest drawing primitives. While that is a good idea for keeping things platform agnostic it adds to the bloat. Same thing for graphics, multimedia, networking and other APIs that java bundles in it's jre.jar. They are all reimplementing a fair chunk of the functionality of your OS in the name of platform independence. That's all good but if I want Java and I want it lean I have no option. A native OS would definitely constitute an alternative like that. I refuse to run Java based applications on my desktop because I don't want the additional footprint of over 30MB worth of different Java classes just to run a relatively simple desktop app.

Just to give you an idea of what I'm talking about I'll use an example. I have Visual Studio 6 running on my laptop right now which weighs in at 9.1MB. I also have JBuilder 4 runnig and consuming a whopping 42MB. But wait, it gets worse. If I now fire off a second copy of JBuilder or any other Java app those same big libraries will be loaded second time eating even more memory. We're now talking 84MB to run two reasonably sized desktop apps as opposed to 18MB native. Not good. Visual Studio on the other hand shares many libraries with other native Windows apps (gdi32.dll user32.dll ws2_32.dll etc) giving me a much leaner memory footprint overall. For java to be a viable desktop solution it has to run natively. The current state of things is not acceptable even for high end desktop systems of today.

An OS based on Java would at least in theory, be able to load the JRE once and have all application instances use the same code in the same way that DLL's and DSO's are reused on native operating systems. This is not the only benefit to having an OS tailored to Java. I'm pretty sure that if you used java applications you've experienced long startup times that are unacceptable to an end user who sees native applications launch an order of magnitude faster. The reason for this (besides the enormous size of the JRE which is 70% of a whole OS by itself) is the way that java loads its classes. Java doesn't work with the concept of libraries. Each class in Java is a separate entity that is only loosely grouped in a .jar file which in actuality is just a zip file with a different extension. The mechanics of loading those individual classes is actually quite crude. Java uses its CLASSPATH variable that tells it all the possible locations of java classes and the virtual machine checks each directory in the CLASSPATH to find the class it needs to load. This is done on a per-class basis and is quite expensive as a result. This behaviour could be much improved in a native Java OS by integrating the class lookup with the file system so that CLASSPATH lookups could be cached and even the most frequently used classes could be kept in memory while the OS is up. I'd expect speed and memory consumption to improve dramatically under such OS.

I can't really see how else Sun could resolve the issues inherent to Java's performance. The JVM will always have to be loaded on systems such as Windows. The performance of the windowing toolkit will always be suboptimal and class loading will always be limited by the filesystem of the underpinning OS. Apple have done some work towards integrating Java into MacOS X but it's not enough. It still comes with the enormous JRE which sits beside the core OS functionality. Much functionality is still duplicated and class loading performance doesn't seem any better compared to running the same Java applications on Windows. The most integration work has gone into the UI layer where Java apps actually do look decent, something that cannot be said about Java desktop applications deployed on all other platforms.

So there. .NET and C# are coming and will be integrated into the Windows desktop most likely will leverage the native libraries as much as possible making C# apps lean and mean. Java as it stands has nothing to respond with. If a Java based OS platform doesn't arrive soon Java may indeed face a bleak future.


Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure


Biggest Java bloat
o Swing 41%
o EJB 13%
o Inoshiro 45%

Votes: 51
Results | Other Polls

Related Links
o Kuro5hin
o Also by MSBob

Display: Sort:
Java is dying | 63 comments (55 topical, 8 editorial, 0 hidden)
I hope you're wrong. (3.60 / 5) (#1)
by ambrosen on Wed Jul 18, 2001 at 06:19:56 PM EST

It does seem that Java is losing domination on the desktop and server. This is a bummer (for someone like me, who loves garbage collection and proper inheritance). However, there are twinklings of a dawn for Java on Symbian devices like the Nokia 9210 (9290 in the States?), which will be featured in batbelts everywhere. It's a full colour clamshell PDA and mobile phone, which runs mobile Java applets and applications, and it seems to be being promoted fairly heavily by the UK phone resellers. In fact, from what I remember of the website, a lot of the Symbian strategy seems to emphasise the possibilities for Java on its platform. It does remain to be seen how strongly this grows.

I guess the main idea is that if the desktop and server markets are taken, use things like the J2ME (Java 2 Mobile Edition) to keep market share. Whether this is a good strategy depends on whether devices (smart notepads, MP3 stereos, 3G phones, etc) will get smarter, and stay more or less independent, or will get more connected, and get their data ready processed from a server. It certainly seems a better gamble to me than trying to get a new OS accepted on the desktop.

Procrastination does not make you cool. Being cool makes you procrastinate. DesiredUsername.

Mobile devices (3.00 / 1) (#2)
by MSBob on Wed Jul 18, 2001 at 06:25:57 PM EST

I believe that MS will also be entering the mobile arena with revemped CE that will support CLR natively. If .NET takes off on the server side I can easily see how mobile manufacturers may want to adopt winCE instead for the sake of "better compatibility". I expect Microsoft to sneak in a few problems with integrating server side .NET stuff with non-MS client devices. I think half assed atttempts at carving a niche for yourself won't cut it anymore. If noone bets their farm on creating a serious solution MS will slowly erode the marketshare of all software vendors no matter what their niche. MS has to do it to grow. They already saturated their original market.
I don't mind paying taxes, they buy me civilization.

[ Parent ]
Yes, I should have mentioned CE. (5.00 / 1) (#11)
by ambrosen on Wed Jul 18, 2001 at 07:04:48 PM EST

The interesting bit is that you've got these two markets converging, and on the one side you have the strengths of Nokia, Ericsson, Motorola and Panasonic with a total (discounting other divisions of the companies) market capitalisation competitive with, if not greater than Microsoft's, and on the other, you have Microsoft itself. So there's two equally large farms being bet here. It would seem pretty hard to branch up from phones and small devices to desktops, and it also may be difficult, given the revised forecasts for how much of people's internet access is going to be by 3G (<50%), to get much control of the server market. However, there may be enough influence here for someone from Sun to get in on the partnership and use it as a foothold to keep the server market.

From the point of view of what will happen with CE, it does seem to be that CE is doing pretty successfully, and Microsoft's other ventures into smartphones (Mobile Explorer and the Stinger smartphone (from Sendo)(apologies for the lack of links, my connection's too slow to find things)) may give it enough of a foothold. And if the other manufacturers want to play dirty there's things like Multimedia messaging which can be played with, not to mention the fact that they're also retailers of the network infrastructure. So there'll be an interesting battle there, too. Sorry, it's too late for me to come up with any good conclusions :)

Procrastination does not make you cool. Being cool makes you procrastinate. DesiredUsername.
[ Parent ]

No, they use Java... (4.00 / 1) (#34)
by DeHans on Thu Jul 19, 2001 at 05:26:27 AM EST

I believe that MS will also be entering the mobile arena with revemped CE that will support CLR natively

Nope, they are going with Java.

From the article:
"While Microsoft has confirmed that latest builds of Windows XP won't support Java, Redmond seems to be keeping quiet about its endorsement of Sun's platform on other devices. The Beast is embracing Java with some fervour, exhibiting it at the Windows Embedded Developer Conference in Japan recently."

[ Parent ]
whoops (3.40 / 5) (#4)
by mpalczew on Wed Jul 18, 2001 at 06:28:43 PM EST

I voted for this story, while only reading the first part. I wish I hadn't.

I agree that java is dying, but saying that we need an all java desktop, is just silly.

Java's greatest strength is the language and cross-platformness. The language is very nice. But it runs like ass on linux and mac.

Java's weakness is it's slow execution speed, it's buginess, it's API, the whole CLASSPATH thing, etc...

We don't need more java suckage, and we know it won't dominate the desktop anytime soon. I can't believe someone would think otherwise.

-- Death to all Fanatics!
some points.. (4.00 / 1) (#8)
by rebelcool on Wed Jul 18, 2001 at 06:36:49 PM EST

people who point to java's slowness never talk about where its slow at. Sure, it's no fortran for equation speeds, but in many aspects it performs as well, if not better than, C. Of course it depends on proper writing (like fools who use Strings instead of StringBuffers for manipulation) and the right tools.

Buginess, i havent ran into with the exception of browser JVM's. Particularly netscape's. I have seen only 2 crashes of a sun JVM in the 2.5 years ive done real java programming.

Whats wrong with the java api?

classpath, i agree is annoying. Takes getting used to, thats for sure.

Java is above all, a tool. Like every other language. it excels in some areas, not so great in others. But I like it. I code on windows and deploy on linux without giving a second thought about it.

COG. Build your own community. Free, easy, powerful. Demo site
[ Parent ]

classpath? (3.00 / 1) (#38)
by boxed on Thu Jul 19, 2001 at 10:06:20 AM EST

What's wrong with the classpath? Remember what windows does for it's dlls: it forces users into using %windowsdir%\system32. Also look at how *nix handles dynamic link libraries... the classpath is much easier to work with.

[ Parent ]
naive and too narrow (4.75 / 4) (#5)
by rebelcool on Wed Jul 18, 2001 at 06:30:44 PM EST

You must not do any server side programming. Java is incredibly huge on the backend of servers. Oracle has made an enormous investment into java for that, and java servlets and JSPs are among the best ways for server-side coding as its far more object oriented and with much more matured models than any other language available.

For enterprise systems, no other language comes close with the support and tools that java has offered. Sun has really put the balls to the wall on that.

While java has never stormed the desktops..that's only a minor piece of the pie. Java dominates, and will continue to dominate, the server side arena for years to come.

COG. Build your own community. Free, easy, powerful. Demo site

I'm a J2EE developer by trade (4.00 / 1) (#7)
by MSBob on Wed Jul 18, 2001 at 06:36:47 PM EST

Thanks for playing down my skills. Admittedly servlets are neat but if .NET takes off ASP will offer the same benefits and admittedly a much nicer developer's environment. EJB is bad and will have a hard time standing up to .NET. Oracle's investment into java probably means that they have JDBC drivers that work. Not that big a deal and surely not something that would make Java the preferred language for Oracle development.
I don't mind paying taxes, they buy me civilization.

[ Parent ]
not only do they have jdbc drivers... (none / 0) (#13)
by rebelcool on Wed Jul 18, 2001 at 07:25:48 PM EST

oracle application server is actually orion, a totally java borne server.

COG. Build your own community. Free, easy, powerful. Demo site
[ Parent ]

more than just jdbc drivers (5.00 / 1) (#39)
by Crafty on Thu Jul 19, 2001 at 10:35:07 AM EST

you can also write your stored procedures/functions in java.

[ Parent ]
RE EJB is BAD (none / 0) (#51)
by seanodonnell on Fri Jul 20, 2001 at 06:19:07 AM EST

EJB is BAD? take a good hard look at the MS vs Java Component Models, J2EE provides what .net promises today. The EJB component model is far more flexible than com and dcom. Java supports XML,SOAP, and just about everything else. You can use MS Beta software,or you can use a stable mature technology based on standards and supported by over 30 vendors today. As far as i can see, .nets only advantage is that it has the MS marketing army behind it.

[ Parent ]
Why? (none / 0) (#58)
by LukeyBoy on Fri Jul 20, 2001 at 07:25:44 PM EST

Why do you see EJBs as bad? I find them great; they allow a developer to implement only business logic, ruling out direct IO access and what not. This keeps multiple tier systems properly separated. DCOM/COM+/.NET/whatever the hell it's called this year has a very low level of separation, and is all dependant on a single corporate entity. Using EJBs allows me to pick and choose my application server, JVM, EJB container and so on depending on which products suit my criteria.

[ Parent ]
Really? (4.00 / 4) (#9)
by aphrael on Wed Jul 18, 2001 at 06:56:37 PM EST

while I admit to wishing that Java would go away, I don't see it. The vast majority of programming jobs in my area are in Java; sales of my company's Java compiler are increasing; the use of Java on the web seems to be increasing as well.

The fact that the technology has problems does not mean that hte technology is dead.

What about MS though (4.00 / 1) (#10)
by MSBob on Wed Jul 18, 2001 at 06:59:13 PM EST

The fact that MS is betting the farm on .NET should not be taken lightly. I'm no fan of Java the programming language myself (although that's what I have to do for a living) I do think Sun needs to take action if they want to see Java survive the impact of .NET. This is just my view and that's why it's an Op-Ed. Take it for what it's worth.
I don't mind paying taxes, they buy me civilization.

[ Parent ]
Windoze is proof that crappy stuff can go places. (3.50 / 2) (#12)
by njcajun on Wed Jul 18, 2001 at 07:15:19 PM EST

I'm not a big Java nut or anything, but I don't really see it going anywhere either. People thought C++ was dead when Java came out - it's not. People thought UNIX was dead when Windoze came out - it's getting bigger (go figure).

PS - Sun does stuff all the time to enhance, extend and support Java. Have you seen the support it has from them? It's truly astounding how much documentation and resources there are for it.
The two most abundant things in the universe... Hydrogen and Stupidity. --Frank Zappa
[ Parent ]
How is this different from... (4.00 / 3) (#14)
by garbanzo on Wed Jul 18, 2001 at 07:26:12 PM EST

Lemme ask this: If you create and push forth a java os with native java libs, how is java different at that point (conceptually) from any other os and programming language duo? So you can run like a deer in the native os but waddle like a hog in the VM on another os.

Substitute "emulator" for VM (same-same?) and you could say the same about Windows. Or Mac OS, I suppose. Where an emulator exists, can we say "write once, run anywhere" about that platform? Quick, call MS and tell them Windows is WORA!

The fact that XP is (we now hear) going to be java-unfriendly would be alarming if there were a lot of client-side java apps. I don't really know of many, probably for the aforementioned resemblance between hogs and VMs. It is pretty much a yawn announcement.

Full disclosure time: my day job is coding in VB, Jscript, and VBScript in an asp/iis environment.

I have been to the IPlanet roadshow to hear all about their J2EE app server. The schwag-bag was very nice and I use it to carry my crud to work.

I have also been offered koolaid (aka mindshare-warping hallucinogens?) from the .NET side. Bill himself sent me a very nice mass mailing.

I don't see either of them offering things that will force the hand of any developers. .NET does not offer enough magic to keep people from leaving J2EE if they really want to stay there. Likewise, J2EE did not seem to me to offer anything that .NET was not also offering.

Given my druthers, I might prefer php, based on what I've seen. I think I'd rather code that than JSPs or EJBs.

What will win people on the server side (out in the land of IT customers) is cheap, out-of-the-box portal and content management. The low price of MS portals at the middle to low end (SharePoint Portal Server and SharePoint Team Services, respectively) should be more alarming to Sun than anything else. Buy an XP server and a copy of Front Page 2000 and get an out of the box user-managed portal system for a small company (say 100 employees). Scale up to 1000 employees and SharePoint Portal server will cost you more, but not a lot more. Six-figure priced J2EE portal and content management platforms should take this very seriously.

sure, it's all fun and games--until someone puts an eye out

At least one platform would run well (none / 0) (#25)
by MSBob on Wed Jul 18, 2001 at 09:56:03 PM EST

how is java different at that point (conceptually) from any other os and programming language duo? So you can run like a deer in the native os but waddle like a hog in the VM on another os.

Well this way at least the native java platform would work. The current sorry state of Java resource utilisation is a result of Java's functionality cloning. The only way to avoid that is to have Java libs as OS system libs. I honestly see no other way to 'trim' java without sacrificing functionality.

I don't mind paying taxes, they buy me civilization.

[ Parent ]
php (none / 0) (#46)
by kubalaa on Thu Jul 19, 2001 at 07:04:57 PM EST

It's funny, I came from the other side; I started in php and now I'm working with Java and Python. Maybe it's "the grass is always greener..." but I think you'd be very unhappy with php; it's very easy to learn and well-suited for small projects but it's extremely painful to use it on anything large or well-organized. I've spent the last week banging my head against the wall over the broken-ness of its object references.

If you're looking for a light, easy-to-learn scripting language, try Python. There's a version in Java, JPython, that can interact seamlessly with Java classes and visa versa; it's more elegant for writing Java servlets than Java itself!

[ Parent ]

Nice troll (3.55 / 9) (#15)
by Carnage4Life on Wed Jul 18, 2001 at 07:45:52 PM EST

Java is doing fine. It has massive market penetration and support from both industry and academia. It runs on cell phones, credit cards (both Amex and Visa) and cable boxes. It is taught in over 50% of the schools the United States and there are currently 2 million developers using Java worldwide.

I hope .NET is big and eventually decimates Java like COM did CORBA, but to claim that Java is dead based on the comments in your article is simply a troll and a poor one at that.

If you wanted to write an article about a Java based OS you should have done so without all the rhetoric that makes you seem like someone who has missed the boat on Java (it's the server not the desktop).

more remarks on the trolling (none / 0) (#19)
by khallow on Wed Jul 18, 2001 at 08:06:11 PM EST

If you wanted to write an article about a Java based OS you should have done so without all the rhetoric that makes you seem like someone who has missed the boat on Java (it's the server not the desktop).

Note that Java isn't client-side for a very good reason. It can't compete with Javascript, which incidentally is still supported by MS. Don't forget that the most common desktop is the web browser, and so client-side == desktop.

[ Parent ]

compete (5.00 / 1) (#21)
by dr k on Wed Jul 18, 2001 at 08:19:54 PM EST

I'm [still] confused about the competition concept. So, Java just doesn't compare against JavaScript in the arena of frivolous client-side applications? Okay, web site X is still broken. Is all this technology just a myth then?

Destroy all trusted users!
[ Parent ]

javascript vs. java (none / 0) (#37)
by boxed on Thu Jul 19, 2001 at 09:59:56 AM EST

JavaScript cannot compete with anything that is compiled. Java is a full programming language with good performance, JavaScript is a lousy scripting language that is in reality a non-standard dialect of EMCAScript.

[ Parent ]
ECMAScript, and competing with Java (none / 0) (#42)
by ajf on Thu Jul 19, 2001 at 01:34:40 PM EST

Well, ECMAScript is a standard that was derived from Javascript, so if they chose to define some parts of the standard different from the behaviour of the existing Javascript implementation, of course the original Javascript isn't compliant.

And I'm fairly sure that Mozilla's Javascript implementation conforms to the ECMAScript standard now anyway.

In the context of a browser, Javascript is competitive with Java, precisely because it isn't compiled, which makes developing Javascript considerably easier. Particularly with the development of DHTML and the DOM, Javascript became a much simpler way of interacting with the user on the client side.

"I have no idea if it is true or not, but given what you read on the Web, it seems to be a valid concern." -jjayson
[ Parent ]
true enough (none / 0) (#57)
by boxed on Fri Jul 20, 2001 at 07:12:58 PM EST

But the thing with javascript is that it is extremely slow and it can hardly do anything useful.

[ Parent ]
Java memory problems on the desktop (3.66 / 3) (#16)
by sigwinch on Wed Jul 18, 2001 at 07:46:16 PM EST

For acceptable memory usage on desktop applications, the JVM needs to be able to coalesce free memory. Correct me if I'm wrong, but the current JVM garbage collectors leave memory badly fragmented. E.g., I open a 15 MB OpenJavaWord document, close it, and the JVM has a hard time giving any of that 15 megs back to the OS. At work, we routinely have 10+ MB documents for proposals and reports (the more inline images the merrier apparently), and this would be a killer problem.

[Slightly OT] One of the commercial Eiffel implementations is able to coalesce free memory, or so I've been told...

I don't want the world, I just want your half.

RE Garbage collection (3.00 / 1) (#50)
by seanodonnell on Fri Jul 20, 2001 at 06:15:11 AM EST

the garbage collector is very low priority and only runs when sod all else is happening. But you can call it yourself at appropriate times in your program. If the user has just closed a document in a java app, thats an idea time to manually cal the garbage collector in your app. also (and i could be wrong on this one), i believe there a way to up the priority of the garbage collector when starting the jvm.

[ Parent ]
Garbage collection (none / 0) (#55)
by sigwinch on Fri Jul 20, 2001 at 05:54:01 PM EST

After a massive garbage collection, it is likely that there will be lots of objects strewn across memory (with empty holes between them). If a page of memory is used at all by a live object -- even if it's only one byte -- the page cannot be returned to the operating system's pool of free pages. A coalescing memory manager searches for sparsely-filled pages, relocates everything in them, rewrites all references to the objects' new locations, and returns the emptied pages to the OS. (This is, of course, much more challenging than simple mark-and-sweep garbage collection. Lots of execution environments don't do it, including most JVMs if I remember right.)

I don't want the world, I just want your half.
[ Parent ]

garbage collection references (none / 0) (#56)
by hading on Fri Jul 20, 2001 at 06:29:30 PM EST

A good source for anyone interested in modern garbage collection is at theXanalys Memory Management Reference. I don't know how JVMs tend to do their garbage collection, but I don't think that fragmentation is a problem for most modern Lisps or Smalltalks, for example.

[ Parent ]
New jargon entry... (4.00 / 6) (#17)
by Signal 11 on Wed Jul 18, 2001 at 07:47:41 PM EST

Imminent death of $PLATFORM predicted, film at 11!

Society needs therapy. It's having
trouble accepting itself.

Correction (3.00 / 6) (#18)
by khallow on Wed Jul 18, 2001 at 07:54:40 PM EST

Imminent death of %PLATFORM% predicted, film at 11!

[ Parent ]
Misunderstood (3.85 / 7) (#24)
by MSBob on Wed Jul 18, 2001 at 09:52:39 PM EST

I really feel misunderstood about this article. I wrote about Java in a pretty objective fashion stating clearly that it is about to see the new kid on the block in server space.

My argument revolves around the notion that Java owns the server while MS own the desktop. MS is now entering the server side and Java is not making any progress on the desktop. The balance of power is about to swing in M$ favour. I reasoned why this is the case and what the possible solution may be. Seems to me however that half of those who posted (and moderated the story) just read the first (corny) paragraph. So for all our humour impaired friends: that was just supposed to be the attention grabber. Don't judge the book by its cover.

I don't mind paying taxes, they buy me civilization.

It's not a big change (none / 0) (#41)
by SlydeRule on Thu Jul 19, 2001 at 12:49:16 PM EST

My argument revolves around the notion that Java owns the server while MS own the desktop.
Unfortunately, your argument revolves around a fallacy.

First off, Java is not just J2EE, and that's part of the reason for the misunderstandings. But since you've now made it clear that you were only referring to J2EE, I'll focus on that specific issue.

J2EE does not "own" the server market. Microsoft NT/IIS/MTS with ASP, CGI, and VB owns the server market. J2EE is a minor player which is doing quite well in the "serious" server market.

.NET doesn't change the fundamental distinction between the two markets. .NET will appeal to the current NT users, the same people who currently run IIS/MTS because it comes for free on NT, NT machines are cheap, and ASP, CGI, and VB programmers are (relatively) plentiful and inexpensive. J2EE will still appeal to the large operations who need reliable, secure, high-volume transactional systems and are willing to pay for it.

Obviously, I am making an assumption here that .NET will not bring with it significant improvements in reliability, security, and scalability. If it did, that would make .NET a threat to J2EE.

[ Parent ]

Java Desktop? (4.20 / 5) (#26)
by asqui on Wed Jul 18, 2001 at 10:23:10 PM EST

I think that clinging to the notion that the only way Java will survive is by creating an OS that is Java-based is rather desperate and not very thoughtful.

Keep in mind that Java is very fast and good as a servlet.. It has it's functions, but they are limited..

Java is promoted off the principle of portability.. running an application written once on many operating systems.. so if Java's only hope is to create it's own OS for Java apps to run on, there certainly IS a bleak future for it. How many people out there are going to adandon their current systems in pursuite of an immature, recently developed environment that is highly limited? I'm certainly not.

Java's calling is not in the desktop market. Pushing it there is only wasting your time, promoting the language/environment in an area where it clearly does not belong.

Java is not dying.. it is doing just fine. All I can say is: "Let the best technology win!".

People who live in stucco houses shouldn't throw quiche.
Whatever happened to applets? (3.00 / 2) (#27)
by swr on Wed Jul 18, 2001 at 10:51:57 PM EST

This may be (slightly) aside, but why haven't Java applets taken off more? There are surely some places where it would be better than the press-a-button-and-a-new-page-loads type web apps...

For example, webmail. There are lots of web-based IMAP front-ends. Each time you do an operation you are submitting a form to the web server. Because HTTP is basicly stateless, the process on the server has to re-connect to the IMAP server to do whatever it has to do. If a Java applet were used instead, it could make a single connection to the mail server and do its thing, just like a "real" mail client, and so each operation could complete faster because it wouldn't have to keep reconnecting. But the "tranditional" web development model seems to be used much more frequently than applets, even for webmail. Why?

Another thing is streaming audio. Requires plugins, which everyone agrees is more hassle than not requiring plugins. But it doesn't really require plugins... At least one company has a java applet based solution that requires no plugins, and I recall an article in Doctor Dobb's Journal resulting in an applet that does exactly that (targetting a 486 w/ 28.8 Kbps and version 3 browser!). Why does everyone use Real/WindowsMedia instead?

Am I missing something here?

Flash (none / 0) (#31)
by ajf on Thu Jul 19, 2001 at 02:43:49 AM EST

Most of the places where little animated thingies could be useful on web pages are better served by Flash. It's not available on as many platforms, but availability for the two most common browsers on Windows makes it more than good enough for a lot of people.

As for applications like web mail, I think it probably comes down to the perception of bloat. Short of crashing, there's nothing your browser does that's quite as painful as loading a JVM. On the other hand, my bank's internet banking application uses a Java applet. The applet usually displays an ad at the top of the window (rather like what ATMs do while your transaction is being processed), but since the system requirements page explicitly says you need Java, I'm assuming it actually does something useful as well.

"I have no idea if it is true or not, but given what you read on the Web, it seems to be a valid concern." -jjayson
[ Parent ]
Logistics (none / 0) (#35)
by slaytanic killer on Thu Jul 19, 2001 at 08:21:12 AM EST

Mainly because a strong enough Java virtual machine+API to run the stuff is a huge download (30M?), and getting it to the desktop, especially given MSFT's hostility, is a difficult logistics task for Sun, which is a server company.

And plus, with normal companies' business plans, they do silly things with Java, treating it as a buzzword. Not every business plan goes well with thin clients.

It's a matter of time. Take a look at this recent link. Flash makes Java a bit redundant, because it is sufficently powerful enough to do thin-client things with a relatively tiny download. But it just takes time. Flash is more of a near-term solution, and likely does not have the longevity of Java, which will outstrip Flash in the longer term. (As a technical matter... especially because the C++ Flash API blows.)

[ Parent ]
Argh, moron (none / 0) (#52)
by slaytanic killer on Fri Jul 20, 2001 at 11:18:48 AM EST

The JRE is only 8 megs. Nevermind, I'm gonna get some shuteye.

[ Parent ]
browser incompatibilities (none / 0) (#44)
by bnenning on Thu Jul 19, 2001 at 05:03:35 PM EST

For the first several years of Java's life, the implementation in browsers was inconsistent and buggy. I blame Sun almost entirely for this, because they decided each browser should use its own VM, which guaranteed that "write once, run anywhere" wouldn't work. By the time they figured this out and released the Java plug-in, it was too late.

[ Parent ]
OSX worth a mention? (4.00 / 2) (#29)
by poltroon on Thu Jul 19, 2001 at 01:08:56 AM EST

Since you're talking about Java on the desktop, why no mention of OSX? Apple is pushing Java as one of its three main development frameworks on OSX. It comes with full support for Java2 and also Java APIs for Cocoa (so you can use Cocoa instead of AWT or Swing if you want). Java threads are essentially native, and supposedly the JVM is quite snappy.

More about OSX and Apple (4.00 / 1) (#45)
by chipuni on Thu Jul 19, 2001 at 05:47:06 PM EST

Further, Apple holds most of Java in libraries. If you load two copies of an application, they share the libraries... exactly what the article was talking about. I'm currently developing Java software under OSX, and I'm enjoying it. (Of course, I like that I can switch back and forth between Unix tools and Macintosh tools.)
Perfection is not reached when nothing more can be added, but only when nothing more can be taken away.
Wisdom for short attention spans.
[ Parent ]
.NET will have its uses and so will JAVA. (4.33 / 3) (#32)
by SubtleSeer on Thu Jul 19, 2001 at 02:49:46 AM EST

First off I would like to say that I am not promoting a Java Sun, or Windows C-Sharp advocacy. I think many people misunderstand what .NET is, and how it will have an effect on other development platforms. This is what I think based on reading the technical specifications of the dot net beta, and using it to write a few toy applications.

Dot Net is simply a Virtual Machine that provides a Common Language Run-time to various different languages. By default, it will come with support for C++, Visual Basic, and C-Sharp. This platform will have many advantages on Windows because it will be able to interoperate with the Operating System, and still offer high-level support to the top level applications running on top of it. It will offer native compilation, run-time translation, and Just In Time compilation with different modes for each level of translation.

If Microsoft is serious, they may have all of this completed by the first release, but I doubt it. Look for the next big thing on Windows to be the Visual Studio.NET IDE combining the three development environments into one with Window Forms support for both Stand-alone and Internet development, integrated Soap Toolkit for Windows services, and Mobile Internet support for their WinCE devices. By the way, much of what will be in the Visual Studio.NET IDE is all ready available now to be used in Visual Studio 6, both VB and VC++ environments are supported.

The real strength of C-Sharp is not only going to be an attack against Java, it will also be a way to merge two developer bases into one. The radical changes in Visual Basic.NET will require strict Visual Basic users to relearn a few techniques. The large majority of Windows programmers are not C, C++, or Java programmers, they are Visual Basic programmers.

So Microsoft will be trying to merge Visual Basic, and C++ programmers into C-Sharp as a direct challenge to the Java development market on Windows. For those who are talking about Java‚ÄTMs wide acceptance in the academic community, and the embedded markets, that is fine. The academic community accepted PASCAL but DELPHI was no real challenge to Visual Basic on Windows. Java has a rough estimate of 2 million programmers worldwide; there are more Visual Basic programmers than that on Windows alone.

Microsoft can give Sun the embedded market for the time being. They are planning to release their own Stinger phones, and with their resources and reputation in the business market, it will not be hard to push their phones as an excellent choice for interoperability between the Server, Database, and Desktop. It will be seamless for developers of .NET to write applications that will work on the PocketPC, PalmOS applications running the Blazer browser, and their new digital phones.

So Windows developers, and enterprise managers will have a multifaceted platform for their mobile, and data driven needs. I personally develop for Windows and *Nix platforms, and these initiatives coming from Microsoft will only create more business for my company as we leverage ourselves in the wireless applications market. My company is researching Human Interface Computing on FreeBSD so for the serious stuff, *Nix will still rule.

Peace, SS

JOS (4.25 / 4) (#36)
by shrub34 on Thu Jul 19, 2001 at 09:21:07 AM EST

Take a look at JOS. This effort is working on creating an open source OS for Java. There are already efforts to create good applications for the OS (example, Jext). That is all

It's good to see the BSD community forking and execing so many child processes.

  • Comment about editor of Daemon News not attending BSDco
  • Yeah...... (4.00 / 4) (#40)
    by LukeyBoy on Thu Jul 19, 2001 at 11:16:47 AM EST

    More and more colleges and universities are using Java as the standard teaching language, and I'm seeing an article from a guy named MSBob telling me Java is dying. Whatever. And by the way, it's pretty easy to write a quick wrapper enabling one JRE on a system to run all Java programs as children.

    Blah (none / 0) (#43)
    by bored on Thu Jul 19, 2001 at 01:49:13 PM EST

    More and more colleges and universities are using Java as the standard teaching language

    These are probably the same schools that taught pascal for years and years. IMHO pascal is a much better language for teaching data structures for a lot of reasons.

    [ Parent ]
    Java isn't dying, it's just not "mainstream&q (4.50 / 2) (#47)
    by Zorkon on Thu Jul 19, 2001 at 10:12:22 PM EST

    There is still an awful lot of work being done in and with Java, and it doesn't seem like it's going to slow down any time soon.

    Specifically, I'm talking about the embedded device market - many, many embedded hw manufacturers are turning towards Java as their language of choice to implement the software side of their devices. JavaOS? Well yes, that died on awhile ago. But take a look at Espial and DeviceTop to get an idea of some of the stuff that's going on out there.

    Sure, Java might not be the most popular language on the desktop, but it's definitely not dying.

    Embedded devices are not some magic bullet (none / 0) (#61)
    by pdw on Tue Jul 24, 2001 at 05:53:30 PM EST

    Whenever some technology is having trouble, the "embedded device market" is mentioned as some magic savior.

    Can anybody keep track of the technologies that are going to make it big-time on the embedded device market? I sure can't. There's Java, BeIA, QNX, Amiga, embedded Linux, Windows CE, and countless others.

    Only one of them is going to make it. And if I have to place a bet, I'd choose the last one.

    [ Parent ]
    Anyone remember?.... (4.50 / 2) (#48)
    by dbarker on Thu Jul 19, 2001 at 10:18:51 PM EST

    Anyone here remember this article about the Sun/MS settlement - the one where MS paid Sun $20 million and was told to stop developing new Java products?... I can remember thinking at the time this was about as stupid a move as Sun could have done - to have the largest software company on the face of the planet stop using their software? MS were just handed a reason on a plate as to why they they should drop java from their future OS's...

    I others here am a Java developer, I was taught Java at uni, and I personally think that it's a good language. But like many others here, I'll also be taking a look at C#.

    If the price is right, I'll probably at least take the time to learn C# and will probably do some work in it. We've all already heard that .NET is to be ported to Linux as well, so it too has the promise of being cross platform (well, cross platform if the only platforms you use are Linux and Win32 ;) C# has all the features of a modern OO language, a syntax that's easy to learn, and whilst it's not expected to be the quickist language in the world, I'd be surprised if it was anywhere nearly as bad as Java. (and before anyone tries to tell me that Java can beat C for speed, - I know it can...in highly specific tests that NEVER include ANY graphics.....) And let's face it, MS has enough money that if it ever wanted to, it could just keep releasing it till it gets it right (aka MSN.com) or even just give it away if it's seen as vital to MS's plans (aka IE).

    I'll be sorry to see Java go, but at the moment, even with the massive number of developers for it, I can't see any reason why Java would/should continue.
    Dave :)

    Let's not forget about the SOAPy part of .NET! (3.50 / 2) (#49)
    by azaidi on Fri Jul 20, 2001 at 01:52:51 AM EST

    Everyone here seems to be concentrating on the .NET CLI, but forgetting entirely about SOAP.

    SOAP allows you to call services no matter what language they're written in. It doesn't matter if the caller or callee are in Java, C#, C++ or something else.

    In fact, this might boost Java's popularity even further on the back-end.

    WOOHOOOO!!!! (1.00 / 4) (#53)
    by cbraga on Fri Jul 20, 2001 at 01:21:08 PM EST

    NO MORE JAVA!!!! :D

    ESC[78;89;13p ESC[110;121;13p
    Yawn (1.00 / 5) (#54)
    by buzzcutbuddha on Fri Jul 20, 2001 at 04:04:56 PM EST

    blah blah Java blah blah dying blah blah
    The end is near for Java blah blah blah
    Microsoft rules blah blah blah

    I will own you all lousy Java Developers! Learn a real programming language like VBScript!


    My old scenario (5.00 / 1) (#59)
    by dennis on Sun Jul 22, 2001 at 04:38:40 PM EST

    Back when Sun made those Java-native cpu chips I thought I had them all figured out. What a strategy, I thought - first get everybody to use emulators for your new chips, by calling them "run-anywhere," then release your chips!

    At about the same time, they were doing the JavaOS stuff, and they bought the operating system to the massively-parallel Connection Machine. I figured they were planning to make the entire Internet a massively-parallel supercomputer.

    But the Java chips weren't all that fast, and I guess applications that can use massively-parallel processing are adequately served by SETI@home-type stuff. Good thing I'm not a stock analyst!

    Java needs more time. (none / 0) (#60)
    by driftingwalrus on Sun Jul 22, 2001 at 09:33:22 PM EST

    Perl's been around for what, ten years? It's taken perl that long to get this far. Java's only two or three years old. The language needs time to mature. And no, Java will never rule the world. Why? It's not suited for most of the applications of C. It's too strict and too isolated from the hardware. Perl will never be the dominant programming language either. Nor will LISP. Now that the rubbish and marketing is over with, they can start turning Java into a useful language. This stuff takes time, and while you may not see things moving, they are. If languages falter into disuse, it's often because people don't like the language.(Pascal, Ada, Turing)

    "I drank WHAT?!" -- Socrates
    Good. (1.50 / 2) (#62)
    by Kasreyn on Tue Jul 24, 2001 at 08:06:36 PM EST

    Who gives a crap if Java dies?

    You want scripts, you gots Perl.

    You want apps, you gots C.

    Java was just a way for no-talent weiners (like myself ;-) to get in on the Internet Revolution. If it had ever gotten enough cross-platform support and some serious development, yeah, it could have been good. But those factors can make ANY computer language good. =)


    "Extenuating circumstance to be mentioned on Judgement Day:
    We never asked to be born in the first place."

    R.I.P. Kurt. You will be missed.
    It isnt java thats dying ... (none / 0) (#63)
    by antimatter on Wed Oct 31, 2001 at 07:08:34 PM EST

    as much as is it Sun's ability to blindly hype ... J2EE works but its so bloated and ridiculously messy that its getting harder for them to "sell" their "vision" to the masses ... if you wander into many J2EE sites, "bloat" is a common discussion - you see things like "Replace that J2EE bloat with Jini" and stuff like that - yeah right, replace one bloat with another ... anyone ever tried to use Jini ? we did the SAME FUCKING THING 10 years ago in C in about 40k - its fucking ridiculous ... Java isnt dying, its a nice little language, its the Sun crap that people are revisiting because its crap ...

    Java is dying | 63 comments (55 topical, 8 editorial, 0 hidden)
    Display: Sort:


    All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
    See our legalese page for copyright policies. Please also read our Privacy Policy.
    Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
    Need some help? Email help@kuro5hin.org.
    My heart's the long stairs.

    Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!