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 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
-
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 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:
-
Someone voted:
1.00/5 (1 vote)
But it doesn't change the fact that eclipse is slow and consumes all the memoty it can find ;P
-
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... :|dmitri_sps wrote:
I should have added that using construct in C# is something far better than Java's alternative of using finally blocks
The using construct is a bit different than the try/catch/finally construct, and C# actually does have a try/catch/finally construct as well. The difference is that using will ensure clean-up of resources even when an exception is encountered, it will take no action to handle the exception other than clean up the resources (close files, close database connection, etc).
-
Someone voted:
1.00/5 (1 vote)
But it doesn't change the fact that eclipse is slow and consumes all the memoty it can find ;P
Precisely. To compare it to a steaming pile of .... would be perhaps unfair, though to say that eclipse is a nice piece of work worth having is pushing the friendship a bit too far. Linux or Windows, Eclipse is just plain slooooooooow. Shame on you Adobe for adopting it as the IDE for Flex - closing and restarting the whole app because I change active project. :mad::mad::mad::mad:
-
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.
What about Eclipse? Yes, I know you're a non-IDE person. I've not used it but people say it's good. However, is it all written in Java?
Kevin
-
Vista works for me. I've got it running on 2 laptops and a desktop. No real issues (of course, the hardware is all 2+Ghz Core-2 with 4G memory! :-\ ).
Mine is AMD Dual Core 6000+ (that's 3 GHz per core), and I've got SLI configured. I've got no problems running it, but it just doesn't work the way I want it to. It's a piece of crap! ATM, I like Ubuntu more. :rolleyes: Waiting for Windows 7 to make me say "it works" though...