Are Java-based Products really trustworthy?
-
Hailing from Microsoft technologies and exposed to an elevated level of user-friendliness, we normally look down on grey-technologies like Java. Today, one of the famous instant messengers from IBM pissed me off like anything. It miserably froze my PC like anything and I had no other go other than to hard boot the PC since even the three fingered salute to Windows was beyond the normal recognition. To that extent, all available memory has been gobbled up this hungry brute. :wtf: I really wonder if these folks really test their products before releasing them to market. Can't they gracefully communicate the message to the user? :mad: :mad:
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
All the world's a stage, And all the men and women merely players. They have their exits and their entrances; And one man in his time plays many parts... --William ShakespeareI guess you've not used Vista yet ? Or VS 2008 ?
Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.
-
There are good Java-based desktop products. And a whole heap of crappy ones. :-\ IMHO, it's the VB effect: coder only know one language, on one platform, and so he tries to use it for everything - when the results work poorly in comparison to other, similar products, he just shrugs and says to himself, "[Java|VB|C#] can't do it, it must not need doin'!"
----
You're right. These facts that you've laid out totally contradict the wild ramblings that I pulled off the back of cornflakes packets.
Shog9 wrote:
There are good Java-based desktop products. And a whole heap of crappy ones
Well Said!
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
All the world's a stage, And all the men and women merely players. They have their exits and their entrances; And one man in his time plays many parts... --William Shakespeare -
There are good Java-based desktop products. And a whole heap of crappy ones. :-\ IMHO, it's the VB effect: coder only know one language, on one platform, and so he tries to use it for everything - when the results work poorly in comparison to other, similar products, he just shrugs and says to himself, "[Java|VB|C#] can't do it, it must not need doin'!"
----
You're right. These facts that you've laid out totally contradict the wild ramblings that I pulled off the back of cornflakes packets.
Shog9 wrote:
There are good Java-based desktop products.
Really? Which ones? I heard IntelliJ was good, but haven't actually seen any good Java desktop product.
-
Shog9 wrote:
There are good Java-based desktop products.
Really? Which ones? I heard IntelliJ was good, but haven't actually seen any good Java desktop product.
How about openoffice? [EDIT]I see that only parts of it are java based. http://wiki.services.openoffice.org/wiki/Java_and_OpenOffice.org#OpenOffice.org_Base[^] [/EDIT]
John
-
Shog9 wrote:
There are good Java-based desktop products.
Really? Which ones? I heard IntelliJ was good, but haven't actually seen any good Java desktop product.
I was thinking of OpenOffice, but as John pointed out it's not a pure Java app. That's ok - the first Java desktop app i didn't hate was Eclipse, which was also one of the first to use a native GUI toolkit. VMWare Server 2.0 also has a Java UI, written as a custom webserver. I've only just started using it, but so far it seems decent - again though, it's hardly a "pure" Java app. IMHO, the strengths of Java - like most of .NET - are a relatively simple language combined with a rich runtime library. When you want more than what it provides though, it's entirely appropriate to step outside of the VM.
----
You're right. These facts that you've laid out totally contradict the wild ramblings that I pulled off the back of cornflakes packets.
-
I guess you've not used Vista yet ? Or VS 2008 ?
Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.
:laugh: ++
"mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"
-
I guess you've not used Vista yet ? Or VS 2008 ?
Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.
Christian Graus wrote:
I guess you've not used Vista yet ? Or VS 2008 ?
They should have taken you to the Mojave Experiment, you know? It would be funny to see their own computer break and you telling them that Vista sucks even after the experiment. :-D (by the way: "it works for me" ;P )
-
Hailing from Microsoft technologies and exposed to an elevated level of user-friendliness, we normally look down on grey-technologies like Java. Today, one of the famous instant messengers from IBM pissed me off like anything. It miserably froze my PC like anything and I had no other go other than to hard boot the PC since even the three fingered salute to Windows was beyond the normal recognition. To that extent, all available memory has been gobbled up this hungry brute. :wtf: I really wonder if these folks really test their products before releasing them to market. Can't they gracefully communicate the message to the user? :mad: :mad:
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
All the world's a stage, And all the men and women merely players. They have their exits and their entrances; And one man in his time plays many parts... --William ShakespeareVasudevan Deepak Kumar wrote:
all available memory has been gobbled up
Probably, it was the opposite :sigh: - not all memory was available to it. There is a fundamental difference between Windows and CLR apps and Java - Java JRE runs with a limited heap size. Currently, it "...defaults to smaller of 1/4th of the physical memory or 1GB. Before J2SE 5.0, the default maximum heap size was 64MB..." (quote from Sun documentation[^]). What happens when the app works with large data (in your case, long message lists, probably), is that the smaller available heap memory, the more time is spent on memory defragmentation, de-allocation, etc. Exponentially more time, the closer the heap comes to its limit. This is the effect you can get with non-Java apps, when your PC runs out of virtual memory - machine slows to being almost dead. With Java app though, it stays within its memory limits, but eats all CPU. So, on the topic of being "trustworthy", Java is both better than other languages (not sure any of them supports
throws
clause), and worse - since in real world it is very hard to write an app that scales on data size (in any language - .NET just has more memory at its disposal). Maybe that is why Java is more popular as server-side framework: it's all pooled and buffered... :) If you have problems with some Java app you use, try increasing the heap size. If there is a command that starts your app, add the-Xmx
option; if you just double-click someapp.jar
file, create a shortcut with the explicit command line, for example:javaw -Xmx1024m -jar app.jar
-
Christian Graus wrote:
I guess you've not used Vista yet ? Or VS 2008 ?
They should have taken you to the Mojave Experiment, you know? It would be funny to see their own computer break and you telling them that Vista sucks even after the experiment. :-D (by the way: "it works for me" ;P )
-
I still think those people got paid, or maybe Mojave is actually Ubuntu. :rolleyes: Vista never got me saying "it works", no matter how much I wanted it to work. :doh:
sk8er_boy287 wrote:
Vista never got me saying "it works", no matter how much I wanted it to work.
It works for me (I've been using it for 14 months), albeit it could be far more efficient... I will see once I buy new hardware, hopefully next month.
-
Shog9 wrote:
There are good Java-based desktop products.
Really? Which ones? I heard IntelliJ was good, but haven't actually seen any good Java desktop product.
-
Vasudevan Deepak Kumar wrote:
all available memory has been gobbled up
Probably, it was the opposite :sigh: - not all memory was available to it. There is a fundamental difference between Windows and CLR apps and Java - Java JRE runs with a limited heap size. Currently, it "...defaults to smaller of 1/4th of the physical memory or 1GB. Before J2SE 5.0, the default maximum heap size was 64MB..." (quote from Sun documentation[^]). What happens when the app works with large data (in your case, long message lists, probably), is that the smaller available heap memory, the more time is spent on memory defragmentation, de-allocation, etc. Exponentially more time, the closer the heap comes to its limit. This is the effect you can get with non-Java apps, when your PC runs out of virtual memory - machine slows to being almost dead. With Java app though, it stays within its memory limits, but eats all CPU. So, on the topic of being "trustworthy", Java is both better than other languages (not sure any of them supports
throws
clause), and worse - since in real world it is very hard to write an app that scales on data size (in any language - .NET just has more memory at its disposal). Maybe that is why Java is more popular as server-side framework: it's all pooled and buffered... :) If you have problems with some Java app you use, try increasing the heap size. If there is a command that starts your app, add the-Xmx
option; if you just double-click someapp.jar
file, create a shortcut with the explicit command line, for example:javaw -Xmx1024m -jar app.jar
dmitri_sps wrote:
So, on the topic of being "trustworthy", Java is both better than other languages (not sure any of them supports throws clause)
While checked exceptions are a great idea in theory, and used well they should make programs more robust, too many people either end up wrapping a whole method in a try-catch to swallow Exception or declare their method like this public void myMethod() throws Exception { //Code that will throw a variety of checked exceptions } Other than that I agree that Java is a great language. I played with it on and off since the IE4 days and since moving my home machines to Ubuntu It's become my language of choice for my personal projects. Russell
-
Hailing from Microsoft technologies and exposed to an elevated level of user-friendliness, we normally look down on grey-technologies like Java. Today, one of the famous instant messengers from IBM pissed me off like anything. It miserably froze my PC like anything and I had no other go other than to hard boot the PC since even the three fingered salute to Windows was beyond the normal recognition. To that extent, all available memory has been gobbled up this hungry brute. :wtf: I really wonder if these folks really test their products before releasing them to market. Can't they gracefully communicate the message to the user? :mad: :mad:
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
All the world's a stage, And all the men and women merely players. They have their exits and their entrances; And one man in his time plays many parts... --William ShakespeareVasudevan Deepak Kumar wrote:
Today, one of the famous instant messengers from IBM ****** me off like anything
If it is the one [clue try running it at the Same Time as anything else]that I have to use (company policy), avoid version 7.5.1. On my PC (your mileage may vary) it keeps crashing with Java null pointer exceptions. I have tried loading various JREs but it seems to use its own one. Versions 7.5 and 3.1 are OK. Interestingly, 7.5.1 is the first version that used Eclipse as its development tool (so you get tons of empty folders created when you install it).
-
dmitri_sps wrote:
So, on the topic of being "trustworthy", Java is both better than other languages (not sure any of them supports throws clause)
While checked exceptions are a great idea in theory, and used well they should make programs more robust, too many people either end up wrapping a whole method in a try-catch to swallow Exception or declare their method like this public void myMethod() throws Exception { //Code that will throw a variety of checked exceptions } Other than that I agree that Java is a great language. I played with it on and off since the IE4 days and since moving my home machines to Ubuntu It's become my language of choice for my personal projects. Russell
I agree: no feature makes code good by itself. You fight memory leaks in Java and .NET alike, thread synchronization, etc. I should have added that
using
construct in C# is something far better than Java's alternative of usingfinally
blocks - but, who knows, as you said "too many people" might just ignore both of these options But still, an average Java desktop application would fiind it hard to cope with large data... :| -
I second this strongly. In fact, I was about to Post that, and then saw your answer !
[VisualCalc][Binary Guide][CommDialogs] | [Forums Guidelines]
-
Hailing from Microsoft technologies and exposed to an elevated level of user-friendliness, we normally look down on grey-technologies like Java. Today, one of the famous instant messengers from IBM pissed me off like anything. It miserably froze my PC like anything and I had no other go other than to hard boot the PC since even the three fingered salute to Windows was beyond the normal recognition. To that extent, all available memory has been gobbled up this hungry brute. :wtf: I really wonder if these folks really test their products before releasing them to market. Can't they gracefully communicate the message to the user? :mad: :mad:
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
All the world's a stage, And all the men and women merely players. They have their exits and their entrances; And one man in his time plays many parts... --William ShakespeareVasudevan Deepak Kumar wrote:
Hailing from Microsoft technologies and exposed to an elevated level of user-friendliness,
I am not 100% agree with you on this statement. I have seen Eclipse offering nice (and better) GUI features (and fast too) even before Visual Studio 2005 was doing the same things. In terms of user-friendliness some of the Apple developed software is far superior than Microsoft's (my personal opinion).
Vasudevan Deepak Kumar wrote:
we normally look down on grey-technologies like Java.
Could you please tell me what you meant by 'grey-technologies'? No matter whatever tools/technologies you use, a badly developed application/tool is bad. Nothing more nothing less. I am not supporting Java or Microsoft. As someone else pointed out (about VB programmers), if a person uses only one language for everything, you can see these problems. I think for a company like IBM, it may be cost effective to develop in one language (Java) rather than developing in native languages like C/C++.But if another company chooses .NET for similar reason, they may also end with same kind of issues -Madhu
-
I would add that good products made for Eclipse are excellent. Aptana is one of them. Unless I am mistaken, I is written entirely in Java. Pierre Boucher 'Bien souvent on se rend coupable en négligeant d'agir, et non pas seulement en agissant.' - Marc Aurèle, empereur et philosophe romain.
-
How about openoffice? [EDIT]I see that only parts of it are java based. http://wiki.services.openoffice.org/wiki/Java_and_OpenOffice.org#OpenOffice.org_Base[^] [/EDIT]
John
-
-
I thought about that because when I build it on gentoo linux, I know a good bit of time is spent compiling the java part. I have never looked at the source though. Perhaps the reason why it looks this way is that I use distributed building with gcc and I doubt the java compile is doing that.
John