Slashdot Mirror


After Learning Java Syntax, What Next?

Niris writes "I'm currently taking a course called Advanced Java Programming, which is using the text book Absolute Java, 4th edition, by Walter Savitch. As I work at night as a security guard in the middle of nowhere, I've had enough time to read through the entire course part of the book, finish all eleven chapter quizzes, and do all of the assignments within a month, so all that's left is a group assignment that won't be ready until late April. I'm trying to figure out what else to read that's Java related aside from the usual 'This is how to create a tree. This is recursion. This is how to implement an interface and make an anonymous object,' and wanted to see what Slashdotters have to suggest. So far I'm looking at reading Beginning Algorithms, by Simon Harris and James Ross."

3 of 293 comments (clear)

  1. Effective Java by sproketboy · · Score: 5, Informative

    Effective Java by Joshua Bloch. Will give you some deep insights into the workings of the language.

  2. You've got one third of it by AdmiralXyz · · Score: 5, Informative
    In my experience, there are three things you have to do when learning a new language, after you get the syntax:
    • Learn some common algorithms, and how to implement them in that language. Sounds like you've got yourself an algorithms textbook, which is great. Just make sure you're understanding why they work, not just going through the motions.
    • Learn the standard library of the language. Obviously Java's is enormous, and there's no way a human being could possibly keep it all in their head, but you should check out the Java API and get a sense of, "what things are available to me in case I need them?" Java in particular makes it very likely that something you're trying to write already exists in some form, and there are a lot of programmers who waste valuable time reinventing the wheel every day because they don't know enough about the standard library (the flipside though, is that, just like algorithms, you need to make sure you know what you're using. Way too many programmers throw in a java.util.LinkedList without knowing what the hell it is)
    • Experience! Write real code! This is the most important thing of all. The best experience comes from working in a group on a larger project, although of course that's not always possible. Try writing some larger programs on your own, making sure you keep your good design principles (use interfaces, abstraction, modularization, etc.) from start to finish. When you feel you're ready, there are plenty of open-source projects on Google Code in Java: download one and tinker with the source until you understand it. Hell, join the project if you're ready.

    Good luck, and godspeed.

    --
    Dislike the Electoral College? Lobby your state to join the National Popular Vote Interstate Compact.
  3. My top 4 by Ianopolous · · Score: 5, Informative

    There are several very important books: 1. Effective Java - Joshua Bloch. This is by far the most important one. 2. Java, Concurrency in practice - Goetz 3. The art of multiprocessor programming - Herlihy and Shavit. This is much more theory oriented, but essential to become an excellent multithreaded programmer. 4. Java Puzzlers - Joshua Bloch and Neal Gafter. This is quite a fun book - lots of Java Conundrums Enjoy!