Slashdot Mirror


Head First Java

honestpuck writes "Earlier this year I decided to learn Java. I'd spent some time using JavaScript without really getting my hands too dirty but I'd pushed it way to far and realized I needed a bigger hammer. Grabbing a copy of Learning Java, 2nd Edition from O'Reilly I started learning. First problem, I have to admit I've stayed away from object-oriented programming; after all, I've been writing software for nigh on twenty years without it - why make life hard? Sure, I understood the concepts and I'd done a little but never in a language so strongly committed to OO as Java." Read on for honestpuck's review of Head First Java, which he compares in style and content to Learning Java. Head First Java author Bert Bates, Kathy sierra pages 650 publisher O'Reilly rating 8 reviewer Tony Williams ISBN 0596004656 summary Good, offbeat Java tutorial with new approach to learning computer topics

The Good

Of course, you can't learn Java without a good understanding of object-oriented languages. I made fairly heavy going with 'Learning Java' until I decided to dive in head first. Head First Java, that is -- a new book from O'Reilly that has a totally different attitude to teaching than I've seen before in computer books. It also looks like this might be the start of a series from O'Reilly, the website an introduction seem to assume that there will be more 'Head First' titles and I hope so. The style is humorous, full of graphics, cartoons, puzzles, quizzes and crosswords. It reminds me of the textbooks that used to try and teach me geometry and algebra in high school or my daughter's elementary books on Roman and Greek history I purchased for her at the British Museum. The style didn't work to teach me much algebra and geometry, but I wasn't anywhere near as motivated. This time, it worked. In a couple of weeks I worked through the book and finally have Java skills where I can branch off and start coding the projects I had in mind (though something more advanced will be required soon.)

In the introduction the authors examine learning and explain why they designed the book as they did. To quote from one section: "Some of the Head First learning principles. Make it visual. Put the words within or near the graphics. Use a conversational and personalized style. Get the learner to think more deeply. Get -- and keep -- the reader's attention. Touch their emotions." They argue that our brain is tuned to novelty, and that their style provides the novelty to keep your brain turned on. They also provide ten tips for good learning. That's one thing that seems to set this book apart from most other computer books, they say they think of their reader as a learner and indeed that's the way you are treated by the book. You can start to get a feel for their ideas by visiting headfirst.oreilly.com, a site devoted to the series. You can also grab a couple of example chapters from the books web page, which also has the usual marketing info, table of contents and errata.

The Bad

When compared to Learning Java the coverage is not as good. Head First really only covers the basics, up to and including creating a GUI with SWING and then touches a number of others; Learning Java goes on to explore, with a fair depth, network programming, web programming, servlets, applets, Java Beans, XML and other topics that are only touched on briefly in Head First. If the style of learning does not suit you then this will be an incredibly irritating and useless book, I'd give it a try first, though. If it isn't for you then the style of Learning Java might be better.

Conclusion

When you get down to it, though, the only way to really decide on the worth of a tutorial is to decide how well it teaches. Head First Java excels at teaching. OK, I thought it was silly, I had a hard time making myself do the exercises, fill out the crosswords and solve the puzzles. Then I realized that I was thoroughly learning the topics as I went through the book. Learning Java was doing the same job, but the dry traditional method wasn't doing as well. Both books are well written, designed and constructed -- the style of Headfirst Java just made learning, well, easier.

It would seem to me that the 'Head First' approach is going to work wonderfully for the more 'beginner' topics, books for introducing you to a new style of programming, a new language or a radically different operating system or application. So if you're looking for a book to introduce you to Java then I can recommend Head First Java. Now if I could only find a book as good to introduce me to Common Lisp.

You can purchase Head First Java from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

14 of 327 comments (clear)

  1. Tremendous books by mao+che+minh · · Score: 1, Troll
    I found the book Learning Java, 2nd Edition to be a tremendous and rewarding enrichment to my object oriented programming repetoire. Head First Java was an amazing suplement to my studies, as it was thoroughly well written and could double as much as a reference for a seasoned pro as it could for a rank amatuer (such as myself).

    The highlight of my reading would have to have been the erotic imagery left behind by some Barnes and Nobles passer-by (the previous reader of the book left some provacative, awe inspiring bra-busting imagery of his former girlfriend - a little note that accompanied the images detailed a narrative of how these images came to be).

    I'm not sure if it's normal to get that excited when reading about an object oriented programming langauge, but I have to say, it was certainly the greatest computer science book that I have ever read in my 35 years.

    1. Re:Tremendous books by Anonymous Coward · · Score: -1, Troll

      Am I the only one who smells a troll here? He spews some generic babble using the book name so as to avoid be off-topic and then throws in some bullshit typical troll crap.

    2. Re:Tremendous books by Trigun · · Score: -1, Troll

      Yeah, porn would be about the only thing that would get me through a java book too.

      Thank goodness for Python.

  2. OMFG! by Anonymous Coward · · Score: -1, Troll

    i have a huge hard on with a cheese burger on top of it & liquid java spew out my ass right now!

  3. I HATE YOUR FACE by applecup · · Score: -1, Troll

    I ATE your MOTHERS FACE WITH nothing to relieve me but the dog Is TE CAT WHEN IS EE NOTHING> resoibd WITH TEH code MOCKINGBIRD

  4. All fear teh mighty tl0rr! by Anonymous Coward · · Score: -1, Troll
    Join today and get a special goatse suprize! TSAU (TROLL SEX ASSOCIATION OF UK) is the first organisation which
    gathers TROLL SEX lovers from all over the UK and abroad for one common goal - having TROLL SEX!

    Are you a TROLL?
    Are you a SEX?
    Are you a TROLLSEX?

    If you answered "Yes" to any of the above questions, then TSAU (TROLLSEX ASSCOCIATION OF UK) might be exactly what you've been looking for!
    Join TSAU (TROLL SEX ASSOCIATION OF UK) today, and enjoy all the benefits of being a full-time TSAU member.
    TSAU (TROLL SEX ASSOCIATION OF UK) is the fastest-growing TROLL SEX community with THOUSANDS of members all over United States of Europe. You, too, can be a part of TSAU if you join today!

    Why not? It's quick and easy - only 2 simple steps!

    First, you have to obtain a copy of TROLL SEX FROM OUTER SPACE THE MOVIE and watch it.

    Second, you need to join the official TSAU irc channel #TSAU on EFNet, and apply for membership.
    Talk to one of the ops or any of the other members in the channel to sign up today!

    If you are having trouble locating #TSAU, the official TROLL SEX ASSOCIATION OF UK irc channel, you might be on a wrong irc network. The correct network is EFNet, and you can connect to irc.secsup.org or irc.isprime.com as one of the EFNet servers.

    If you have mod points and would like to support TSAU, please moderate this post up.

    This post brought to you by a proud member of TSAU

  5. I'd like to take this oppertunity.. by malocchio · · Score: -1, Troll

    to say, once again: Java still sux.

    Its slow, has licensing issues with Sun, and requires the run time env. for people to operate Java programs. For the web it sucks, requiring extra client software. For standalone programs it sucks, it's impossible to code something lightly in Java--too bulky, slow, bloated.

    meow

    1. Re:I'd like to take this oppertunity.. by dood · · Score: 0, Troll

      Oh, for fuck's sake... Nothing like a little slashdot FUD.

      Malocchio, people like you really need to invest some time into *learning* about Java before you just rehash the same old TIRED and incorrect comments about the language.

    2. Re:I'd like to take this oppertunity.. by malocchio · · Score: 0, Troll

      hah, i haven't read a reply that funny in months.

      It's slashdot's fault for my trolling, there were no good articles to argue about, so trolling was my last resort for entertainment at work. I do suppose I could actually work, too....

    3. Re:I'd like to take this oppertunity.. by jeffy124 · · Score: 0, Troll

      then I take it you dont understand a damn thing about Java, otherwise you would actually answer. then again, you probably wouldn't have made the post that started this whole thread if you knew Java. my guess is your so called "certification" came from a coffee shop frequent visiter card.

      --
      The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
  6. Java ain't really OO by Merk · · Score: -1, Troll

    Try Ruby. I started serious programming with Java too, and I thought it was OO, but then I found how wrong I was. Now there are probably langauges even more OO than Ruby like maybe Smalltalk, but from what I hear Ruby is much easier to get started with than Smalltalk.

    Java is really just a cleaned-up version of C++ with the glaringly obvious non-OO aspects removed, the preprocessor thrown out, and pointers hidden. As a compiled language it's not bad at all. As an implementation, it's, er... not much fun.

    Just wanted to save a few newbies before they start with Java thinking it is the height of OO.

  7. Java is bad for our industry by Anonymous Coward · · Score: -1, Troll

    There's a huge glut of programmers on the market with little or no experience using any other programming language other than Java. The dot com years produced millions of Java "programmers" that did not how to do much beyond blindly mimicing the Sun "Pet Store" J2EE example without understanding the fundamental concepts that underpin the technology. The stuff runs adequately and meets the minimum business requirements in many cases (albeit a bit slow). When coding becomes cookie-cutter simple - you can no longer justify the outrageously high salaries Java programmers make - so high paying employers are cut and replaced with much cheaper replacements. Great for businesses - a cheap and readily available labor supply. You've got to be wondering if Sun regrets ever inventing Java in the first place. Afterall, Java runs better on and much more cheaply on x86s than on Sparc. Sparc sales have fallen off a cliff as result. Sun has never been able to recoup its Java R&D cost.

  8. Java is good but slow by PhysicsExpert · · Score: -1, Troll

    Congrats on choosing Java, its a great language, and far better than javascript which is more like assembly than anything else. The only problem with it is speed: here in the lab we tried using it to control our partical physics experiments but it simply couldn't execute fast enough to deal with the particles before they disappeared (most leptons, Baryons and Hadrons will decay in a few femtoseconds). Further examination showed that C could do the job as it was significantly faster due to being more object oriented and using a just in time compiler.

    --
    All that glitters has a high refractive index.
  9. reviewer is incompetant by Anonymous Coward · · Score: -1, Troll

    If one hasnt written production OOP code by 2003, even 1995, then one is technologically backward and not competant to comment about it.