• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Any java programmers? I want to learn java.

notfred

Lifer
I have experience with C, C++, and Perl. However, it's all been command line programming. I want to learn java because I should be able to develop GUI applications much faster and more easily, and I'm really not concerned w/ speed (I'm not writing games).

How much work would it be to get into java development? What tools do I need, any books or websites you'd recommend?
 
If you want to develop gui programs fast, and youre not concerned with speed, you want visual basic, not java.
 
Originally posted by: BD2003
If you want to develop gui programs fast, and youre not concerned with speed, you want visual basic, not java.
Hmm, that's kinda a personal preference.

While Java Swing is a flawed runtime IMHO, the programming model is very good. I can whip up GUIs pretty easily just writing code. Not to mention there are numerous "form designers" that build Swing GUIs visually. Yes, VB is a particular favorite for building GUIs, but that's hardly a Java weakness either.

Java Swing is a flawed runtime though because oftentimes, it's still not fast enough (I've seen some exceptions), load times are no fun, and the lack of true native widgets/look and feel turns off most users. Generally speaking, geeks that need to build GUIs for their own purposes are less affected by these flaws. Also, for all these problems, Swing is one of the front-runners if you need to build a cross-platform GUI. Most of the alternatives are rather proprietary.

Anyway, to learn Java programming, you'll need:
The Java2 SDK from Sun
emacs (I'd recommend JDEE, which "plugs into" emacs) or other favorite programmer's editor or IDE
Bruce Eckel wrote a good introductory Java book that you can download
HTML API docs from Sun

My recollection of Eckel's book is a very good introductory treatment of Swing in one chapter. You'll need a more dedicated text if you're building serious applications. If you're serious about Java development, you'll also want to use Ant and JUnit.
 
I am starting to see some really good Swing GUIs that run quick. Intelli J IDEA being one and BEA's Weblogic Workshop the other. I have been developing Java since day one and I have to say it's come a long way since AWT.
 
Originally posted by: dwell
I am starting to see some really good Swing GUIs that run quick. Intelli J IDEA being one and BEA's Weblogic Workshop the other. I have been developing Java since day one and I have to say it's come a long way since AWT.
I haven't tried IdeaJ but I couldn't believe WebLogic Workshop is a Swing GUI. 🙂

They don't use standard widgets, so maybe that has something to do with it. Unfortunately I wasn't able to deploy a web service using Workshop so I couldn't play with it more.
 
Originally posted by: BD2003
If you want to develop gui programs fast, and youre not concerned with speed, you want visual basic, not java.
Like manly says, that's a matter of taste. If you're coding for Windows, a VC++ / MFC "dialog only app" is about as easy to build (C++ dialog editor + ClassWizard is pretty similar to VB forms), and much easier to pick up if you already know C++.

Since the gurus are present, what version of java / swing should you code for if you want to be compatible with the old JVM that Microsoft sometimes ships with Windows / IE ? We may be doing a simple browser-loaded java applet at work and it would help users if they didn't have to download and install an up-to-date JVM from Sun. It needs graphics but nothing too speedy or flashy.

<-- VC++ / MFC / Perl / ASP / VB guy, knows very little about java aside from reading articles 🙂
 
Originally posted by: DaveSimmons

Since the gurus are present, what version of java / swing should you code for if you want to be compatible with the old JVM that Microsoft sometimes ships with Windows / IE ? We may be doing a simple browser-loaded java applet at work and it would help users if they didn't have to download and install an up-to-date JVM from Sun. It needs graphics but nothing too speedy or flashy.
Well I wouldn't consider myself a guru, but here's some thoughts. First off, although client-side Java seems dead (Sun doesn't appear to agree), the MS VM issue is a major strategic problem for Sun. Basically, 80+% of clients (namely Windows/IE) will most likely be stuck at a non-compliant Java 1.1.4 VM for the foreseeable future. If I were Sun, I would swing a deal with AOL to piggyback the Java2 VM onto all those AOL CDs.

To address your specific question, you can use the AWT instead of Swing. AWT isn't a true acronym but it's most commonly considered short to Abstract Windowing Tookit or AWFUL Windowing Toolkit. Let's put it this way; if Swing is the upgrade to AWT, then you know AWT ain't so hot. 😉

Unfortunately, I'm not even sure (I simply can't recall) if the MS VM even supports the AWT 1.1 event model. Although you can certainly build applets with AWT widgets and the archaic AWT 1.0 event model, it just seems so ridiculous to do so. Is it simply not possible to build your application as a true HTML-based web app?

One alternative is to use the add-on Swing 1.1 library with Java 1.1.x, but again that is contingent upon the MS VM supporting the AWT 1.1 event model, which I'm simply not sure that it can even do. The best advice is to get users to deploy a Java2 VM but unfortunately that is easier said than done. Esp. since MS's plugin error message says the MS VM is not available (period) rather than directing users to Sun's Java website. Yes, it's perfectly logical for competing corporations/litigants to play hardball but this is one case where monopoly power clearly is being flexed to customer detriment.
 
Thanks manly. Yes, I would usually argue for server-side processing with HTML results for compatibility, over running an applet on the client. ( Like this for my old employer)

In this case, we want to have content embedded in HTML pages on a third-party server, then use an applet to display the content -- it's the same idea as the MathML viewers from Design Science (as oopsed to a plugin that streams/plays other linked files, the content is "right there" in the page).

From what you're saying though the MS JVM would be a pretty poor target enviornment for this. We were hoping to spare users the extra download/install needed to get a "real" JVM, but at least it's a one-time pain. We need Mac support anyway so requiring a real Sun JVM might lessen the cross-platform headaches.
 
the ebst java book out there is called: "thinking in java"
forgot the author, but I know you can download it in pdf format for free online + it's a great book

As said before if you know C/C++, it should be quite easy to learn java

cheers and good luck

Damiano
 
Originally posted by: DaveSimmons
Thanks manly. Yes, I would usually argue for server-side processing with HTML results for compatibility, over running an applet on the client. ( Like this for my old employer)

In this case, we want to have content embedded in HTML pages on a third-party server, then use an applet to display the content -- it's the same idea as the MathML viewers from Design Science (as oopsed to a plugin that streams/plays other linked files, the content is "right there" in the page).
I'm not a web development expert by any means, but technically how does this require an applet?
From what you're saying though the MS JVM would be a pretty poor target enviornment for this. We were hoping to spare users the extra download/install needed to get a "real" JVM, but at least it's a one-time pain. We need Mac support anyway so requiring a real Sun JVM might lessen the cross-platform headaches.
Yeah, partly that's my opinion since it seems retarded to me to allow a company that violated its Java license and tried to pollute the language to dictate further development on that platform. Strategically it makes tons of sense: hinder Java until CLR/MS .Net wins.

Anyhow, Java2 SDK 1.3 was ported over to MacOS X as the default JVM so I think you're probably best off using JVM 1.3 as a baseline. 1.4 is a nice incremental improvement, and you should be able to target that simultaneously.
 
Back
Top