Slashdot Mirror


Java, Where To Start?

I'm a web developer who has design and programming experience. So, VB, ASP, PHP, Coldfusion, Perl, even C and C++ I have in my belt. I also use Dreamweaver and/or do a lot of my HTML/XHTML/JavaScript coding by hand. So, the DOM, DHTML, etc, all good to me and even OOP thinking and design I have when I code. And I even have MySQL and other databases, again, not an issue here. So, my weak point is — Java — I see so many jobs out there with J2EE, Hibernate, Eclipse, Netbeans. Beside the obvious, which is to learn Java the core language, I don't know where else to go from there. There is so much! What should I read? in what order? What software do I require? UML? Swing? I mean, what is the curriculum required for someone to say they are a solid Java developer? Even assuming I have to go through Java itself, what are the good books out there?

4 of 558 comments (clear)

  1. Groovy by mgkimsal2 · · Score: 5, Interesting

    I'd suggest starting with Groovy (http://groovy.codehaus.org/) then perhaps move in to Grails (http://grails.org). Groovy is a dynamic language that runs *on* the JVM, and can co-exist with native Java code, but requires far less boilerplate code to get anything done. If you're coming from a dynamic language background, Groovy will be a bit easier to understand.

    This will allow you to get involved with Java technologies without as steep a learning curve as you'd require if you were doing it 'from scratch'. You can incorporate as much 'other' Java tech as you want as you go along, but you'll be up and running fast with Groovy.

    http://michaelkimsal.com/blog/grails-for-php-developers/grails-for-php-developers-part-1 is few part series on did on Groovy and Grails for people coming to it from non-Java backgrounds. Never quite finished the series, but it's someplace to look to see if it's something to investigate further.

    Good luck!

  2. Re:I beg to disagree by MrNaz · · Score: 4, Interesting

    Come on now. I'm getting tired of all the "I'm thinking of learning $fooCommonThing and I need Slashdot to spoon feed me Google results." type questions.

    I cannot believe this made front page when there are other, rather good questions in the firehose that would result in good dialog and idea exchange, but that get rejected.

    Seriously, is there some shortage on Java dicumentation out there or something? Granted, I don't know the language as I never had a need for it, but I can't trip over without falling into a pile of Java tutorials.

    Here's my answer to this particular Ask Slashdot.

    --
    I hate printers.
  3. Re:Don't by alex4u2nv · · Score: 4, Interesting

    I would have to agree here, as someone who knows J2EE.

    I studied J2EE application development a couple years ago, when it was supposed to be the "new" next big thing.

    I was already bought, and for all my term papers, in every language course that I wrote, was touting how the future was Java and J2EE.

    In the real world? Its not. I would say, stick with the languages under your belt as they're the most marketable tools in the world.

    My opinion was completely reversed, because in a world where opensource is aspiring and component based development is becoming cleaner and easier, the languages with most opensource software, such as C/C++, PHP, Perl, MySQL, etc will grow even faster.

    Look at it this way, Php 4.x as a non object oriented language, and php 5 as a 80% object oriented language has more freely available software available for coupling than Java does.

    Client/Server Development -- I would focus on the Javascript framworks, Flex, Google Gears, Adobe AIR, etc. + what you already know.

  4. Re:Don't by Z00L00K · · Score: 4, Interesting

    Maybe, but I'll say that it's not a bad thing to be able to know Java.

    There are benefits and there are drawbacks with Java, as there are with other languages. The drawback with Java is that you don't have any control over memory management, but the benefit is that it's easy to program in if you have been working with C and C++. And you will at least not suffer from some weird bugs that you can get in C or C++.

    For beginners in Java I usually recommend JavaRanch.

    And to develop I recommend Eclipse. It works fine and can give you instant feedback on many issues. Of course - it has some quirks too, but so does every tool.

    And if you want to select a more extreme language I would recommend Erlang. It has a completely different approach than normal procedural languages, but sometimes it makes more sense.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.