I didn't say it explicitly enough, but I was speaking about Java 'Applications' (launched via WebStart), vs Java 'Applets'. for Intranet applications, you usually don't use applets (I've never seen them use for internal application needs).
Something to consider, Java/Swing is great for developing Intranet applications in businesses. So when people say Java is dying, and points to the lack of applets, that's not the whole story. Fortune 100 companies use Java/Swing/WebStart to develop their business applications. I know, I make a living writing the programs for these Fortune 100 companies. Someone else posted about how Java is the new Cobol, and in some sense that is true.
Also, the writer of the article states this in his article...
(Full disclosure: I'm in the process of working out a consulting contract with Adobe, to help them teach people about Flex. But long before this, I became convinced that Flash, and Flex in particular, was the best solution for the user-interface problem, and I began writing this article long before Adobe expressed interest in my assistance).
Yes I know he wrote (and supported) Java books in the past, but his current career focus is somewhere else, and I would ask all of you to consider that it may be coloring how he looks at Java currently.
No, don't mod the parent down! Doesn't matter what he did in the past, he's writing an article in the present, and HIS present career situation matters.
From the article...
(Full disclosure: I'm in the process of working out a consulting contract with Adobe, to help them teach people about Flex. But long before this, I became convinced that Flash, and Flex in particular, was the best solution for the user-interface problem, and I began writing this article long before Adobe expressed interest in my assistance).
Maybe I'm just slow to embrace change, after all, I have the same complaint about the new Doctor Who seasons (Eccleston vs. Tennant)
Thats ok, I still consider Tom Baker the best doctor of them all. Funny enough, Eccleston reminded me of Baker the most of all of the doctors that followed Baker, but I do actually enjoy watching Tennant as well.
Oh! I didn't realize at the time, but Tennant plays an evil character in the last Harry Potter movie. Funny watching him with his tongue darting out of his mouth, after having seen him act as the Doctor.:)
From http://en.wikipedia.org/wiki/Coelacanth/...
Ironically, Malan was a staunch creationist; startled by the sight of the ancient creature, he exclaimed, "Why it's ugly! Is this where we come from?"
I think allot of the problem has to do with if a programmer knows how to deal with multi-threading, regardless of the language.
I've been at companies that had tried Java/Swing, got bad apps, and decided to switch to.Net/WinForms, and then are shocked when those apps are bad too, because they were not coded to handle WinForm's multi-threading issues.
Enterprise programmers got used to the PowerBuilder-type 4GL's that don't take threading (mostly) into consideration. The current languages available to the enterprise programmer are more like 3 1/2 GL's, in that you have to know more to code the same type of applications, vis-a-vis multi-threading.
To move this back to your point, allot of the programmers at companies come from the 90's/4GL era, and don't produce good Swing/WinForms applications. Only a few 'get it' and deal with multi-threading.
The.Net crowd on top of all that have to deal with Windows issues to make their apps work. Stuff like having to manually update the registry to get reporting to work (true story at the last company I was contracting at), etc.
Java is an extremely poor choice of language for desktop applications and high-concurrency network daemons. That is Java's weakness. Do not use it for that kind of application -- it will never come close to C++ in that area. Its strengths generally lie in areas where the overhead of the class libraries do not come into play so heavily -- some server-side work and servlets, and the stripped-down mobile version (that was released today). As someone who makes his (good) income writing desktop applications in Java SE (Swing) for Fortune 100 companies, I would have to strongly disagree with this (and not just because I want to keep paying my bills either!:p ).
I (as a contractor) come to a customer site, and see crappy Swing-specific code written. Its usually the developer not knowing how to deal with multi-thread programming (event dispatch thread, etc.). I rewrite the app, it goes into production, and the user base loves it. They click on a single web link to start their app, and automatically get updates when new versions come out. They can run it on multiple OSs too (music industry companies use lots of Macs (for example)). Its performance is comperable to other apps running on their OS/desktop.
Java (and Swing, or if you prefer SWT) is more than fast enough to do the job, is very powerful and is allot easier to write to than 3GL languages. But like with any tool (or weapon), you need to know how to use it to use it effectively. And that can be said of any computing language, both 3GL and well as 4GL.
I don't mean to be insulting, but it seems like you really don't know what you are talking about. I would even argue that (especially for businesses) it is the BEST choice of language to write applications in. No idea about using it for writing a game and such, but if you're looking for a 4GL (PowerBuilder) type replacement, its the best out there (even though its really a 3 1/2GL language).
I always wondered about the "ignorance of a law is not an excuse to follow the law" rule.
I realize that the rule is there for those who would try and lie their way out of the breaking of a law, but what would happen to someone who literally didn't know the law existed?
I know that the way things are now, they are still subject to the law they broke, but doesn't the human brain need to know about a law to be able to follow it in the first place?
And yeah, its the responsibility of the person to learn the laws of the land they walk through, but there are ALLOT of laws out there, and some of them written for political reasons, but the courts have not gotten to them yet to strike them down, etc.
If it can be determined that someone didn't know of a law they broke, do you punish them with the same force as someone who did know the law existed and broke it anyways?
Screw the Java Applets method, go with Java WebStart. You install a plug-in on the browser, and then you can run any Java Application (NOT Applet) off the Net by clicking on a web link. The Java Application runs outside of ANY web browser!
The initial work involved is the same as installing any other browser plug-in (ex.: RealPlayer), and you get Java's full capabilities (Swing, etc.) deployed off of the Net but running on the local client.
I didn't say it explicitly enough, but I was speaking about Java 'Applications' (launched via WebStart), vs Java 'Applets'. for Intranet applications, you usually don't use applets (I've never seen them use for internal application needs).
Also, the writer of the article states this in his article...
Yes I know he wrote (and supported) Java books in the past, but his current career focus is somewhere else, and I would ask all of you to consider that it may be coloring how he looks at Java currently.
From the article...
I've been using the ones that Costco sells, and they turn on very quickly, and have not given me any problems so far.
MOD PARENT UP!
Its a costly future of a society hobbled by fear of terrorism, until a jumbo jet is shot down, then it'll be good common sense.
Thats ok, I still consider Tom Baker the best doctor of them all. Funny enough, Eccleston reminded me of Baker the most of all of the doctors that followed Baker, but I do actually enjoy watching Tennant as well.
Oh! I didn't realize at the time, but Tennant plays an evil character in the last Harry Potter movie. Funny watching him with his tongue darting out of his mouth, after having seen him act as the Doctor.
Stuff like... when I write it becomes /shrug
I think allot of the problem has to do with if a programmer knows how to deal with multi-threading, regardless of the language.
.Net/WinForms, and then are shocked when those apps are bad too, because they were not coded to handle WinForm's multi-threading issues.
.Net crowd on top of all that have to deal with Windows issues to make their apps work. Stuff like having to manually update the registry to get reporting to work (true story at the last company I was contracting at), etc.
I've been at companies that had tried Java/Swing, got bad apps, and decided to switch to
Enterprise programmers got used to the PowerBuilder-type 4GL's that don't take threading (mostly) into consideration. The current languages available to the enterprise programmer are more like 3 1/2 GL's, in that you have to know more to code the same type of applications, vis-a-vis multi-threading.
To move this back to your point, allot of the programmers at companies come from the 90's/4GL era, and don't produce good Swing/WinForms applications. Only a few 'get it' and deal with multi-threading.
The
I (as a contractor) come to a customer site, and see crappy Swing-specific code written. Its usually the developer not knowing how to deal with multi-thread programming (event dispatch thread, etc.). I rewrite the app, it goes into production, and the user base loves it. They click on a single web link to start their app, and automatically get updates when new versions come out. They can run it on multiple OSs too (music industry companies use lots of Macs (for example)). Its performance is comperable to other apps running on their OS/desktop.
Java (and Swing, or if you prefer SWT) is more than fast enough to do the job, is very powerful and is allot easier to write to than 3GL languages. But like with any tool (or weapon), you need to know how to use it to use it effectively. And that can be said of any computing language, both 3GL and well as 4GL.
I don't mean to be insulting, but it seems like you really don't know what you are talking about. I would even argue that (especially for businesses) it is the BEST choice of language to write applications in. No idea about using it for writing a game and such, but if you're looking for a 4GL (PowerBuilder) type replacement, its the best out there (even though its really a 3 1/2GL language).
I always wondered about the "ignorance of a law is not an excuse to follow the law" rule.
I realize that the rule is there for those who would try and lie their way out of the breaking of a law, but what would happen to someone who literally didn't know the law existed?
I know that the way things are now, they are still subject to the law they broke, but doesn't the human brain need to know about a law to be able to follow it in the first place?
And yeah, its the responsibility of the person to learn the laws of the land they walk through, but there are ALLOT of laws out there, and some of them written for political reasons, but the courts have not gotten to them yet to strike them down, etc.
If it can be determined that someone didn't know of a law they broke, do you punish them with the same force as someone who did know the law existed and broke it anyways?
Just thinking out loud.
Screw the Java Applets method, go with Java WebStart. You install a plug-in on the browser, and then you can run any Java Application (NOT Applet) off the Net by clicking on a web link. The Java Application runs outside of ANY web browser!
The initial work involved is the same as installing any other browser plug-in (ex.: RealPlayer), and you get Java's full capabilities (Swing, etc.) deployed off of the Net but running on the local client.
http://java.sun.com/products/javawebstart/