I’m debating if I should learn Java, since (a) I find the syntax a lot easier to understand than C++ (no pointers or -> or :: and such; I somewhat understand those but C++ still reads very cryptic to me), (b) I know C# already so Java shouldn’t be that difficult, and (c) Netbeans 5.0 and Matisse is the best GUI builder I have ever seen [even better than VS.NET 2005!). However, a few quick questions:
1) Any good books to learn? I’ve skimmed through the online tutorials at Sun, but they leave a bit to be desired.. I prefer books that demonstrate the basics, but also show how it can be applied to the real world by having a case study example or something, so that when you finish the book you know the language *and* have a working sample to demonstrate.
2) Maybe I’m ignorant and have been living under a rock (or maybe I just never really paid Java any mind until recently…) but since Java can be written as Applets that display in a web browser, Java should be (or is it already??) the greatest language ever for creating web applications, since you can make it function like a desktop application with dialog boxes and tab controls and whatnot without worrying about the web part; i.e. no HTML mashup with server-side functionality like ASP.NET; I can have all the features of a GUI displayed to anyone, anywhere. Maybe that *is* what Java does and I’ve just been unaware of it until now… it just seems perfect for developing, say, web-based CRM or ERP solutions since you avoid the hassle of laying out a page in HTML first or having to use Javascript or AJAX to simulate app functionality.. maybe there’s something I’m missing.
3) I understand that Java’s main appeal now is in web, and not so much Desktop applications.. in fact I know of hardly any business software that’s written in Java.. I’m not abandoning my C++ studies, because it’s still used, but career-wise is it a good move to even *learn* Java if I plan to do more software development than web? Or is Java’s future pretty much relegated to JSP and EJB (which I’m not even sure really what it IS..)and if I learn it all I should learn it for JSP technology only?
4) Brings up a point from #3.. what exactly *is* the difference between J2SE (or JSE I guess its called now; I think they dropped the 2?) and the EE version? From what I’ve read, the EE seems more like a web service, with an n-tier architecture and using services to connect to desktop or web clients. Maybe I’m just not familiar with the Java terminology, so if someone could explain it as “It’s like [blah] in .NET” I could probably get it easier. If that’s too much to ask, any links to sites that explain it better would be appreciated, as well 🙂
Thanks for bearing along with the relatively n00b-like Java questions.. as I said I’m only now debating learning it since I think it might be useful in the future, but want to see if my thinking is right or not.
Thanks again,
Wayne