• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

my very humble opinions towards the book...

 
Ranch Hand
Posts: 581
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"The Sun Certified Java Developer Exam with J2SE 1.4, First Edition."

More than one year ago I got this book. I did spend time studying it. This book is very successful in many ways, as hundreds of other people have highly appreciated. There are some parts in the book I found less helpful (maybe only to me). Or, if other people have already submitted the similar opinions, the moderators please feel free to delete mine.

- The Threading Part (Chapter 4)

My assignment required to implement a read/write lock, and I heard other assignments require that too. Chapter 4 of the book does mentioned the lock object in somewhere near page 113, I still feel gap between what was asked from the assignment and what was taught in the book. I feel this part of the book might be much better if it looks more like Doug Lea's Concurrent Programming in Java, Second Edition, P117-P158 (2.4 Structuring and Refactoring Classes and 2.5 Using Lock Utilities).

- Vector

While the type vetor had been deprecated since j2se 1.2, I still see Vector everywhere in this book. ArrayList might be better?

- On system analysis and design

I think this part could go in more depth and/or in more breath. I kinda like the approach in the books Better, Lighter, Faster Java by Bruce A. Tate, Justin Gehtland and J2EE without EJB by Rod Johnson. Of course the SCJD assignment doesn't ask for that much, but it's really good to reveal why should we use a certain design and the typical usage of that design, given the concrete scene from the SCJD assignment. And, if this part of the book gets reasonably improved, the whole book would be much more valuable even after the SCJD assignment is done.

I heard the second edition is in progress. I would really like to get it again, if it turns out good. Eyes on it.



Best Regards,
Ellen
[ December 10, 2004: Message edited by: Ellen Zhao ]
 
Ranch Hand
Posts: 159
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
who is the author of
The Sun Certified Java Developer Exam with J2SE 1.4, First Edition." ??
 
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Beny,

Originally posted by Beny Na:
Hi,
who is the author of
The Sun Certified Java Developer Exam with J2SE 1.4, First Edition." ??



The Sun Certified Java Developer Exam with J2SE 1.4 by Mehran Habibi, Terry Camerlengo, Jeremy Patterson.

Mehran (Max) is a bartender here at JavaRanch and he used to be one of the bartenders of this forum. Currently you can find him tending bar in the Java in General (intermediate) forum and the Meaningless Drivel forum. He frequently drops by to discuss general issues and specific issues with his book.

Regards, Andrew
[ December 12, 2004: Message edited by: Andrew Monkhouse ]
 
Andrew Monkhouse
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ellen,

Originally posted by Ellen Zhao:
Or, if other people have already submitted the similar opinions, the moderators please feel free to delete mine.



Actually Max and I were considering whether to open a discussion in this forum regarding what people liked or disliked / want and don't want, so this comes at a very good time.

I think Max has the audacity to have holidays this week, so it might take some time to get a response from him, but I will try and rope him in.

Originally posted by Ellen Zhao:
My assignment required to implement a read/write lock, and I heard other assignments require that too. Chapter 4 of the book does mentioned the lock object in somewhere near page 113, I still feel gap between what was asked from the assignment and what was taught in the book.



In developing a sample project, there are two conflicting desires:
  • To make a project that covers much the same ground as the real SCJD project
  • To make a project that does not give away a solution to the real SCJD project

  • This is actually quite hard to do – it is very easy to develop an (almost) exact replica of the assignment you will receive from Sun, and discuss how to solve it’s problems.

    The way this is generally handled is to make some parts of the book simpler than the real assignment, and some parts harder than the real assignment.

    Locking is one of those really troublesome areas where it is too easy to give away a complete solution, and it is worth a considerable amount of the overall score.

    The question is how to find the right level to put in the book

    Originally posted by Ellen Zhao:
    While the type vetor had been deprecated since j2se 1.2, I still see Vector everywhere in this book. ArrayList might be better?



    Agreed - no more Vectors.

    But just because I am a pedantic person: Vectors still have not been deprecated in JDK 5 .

    Originally posted by Ellen Zhao:
    - On system analysis and design

    I think this part could go in more depth and/or in more breath. I kinda like the approach in the books Better, Lighter, Faster Java by Bruce A. Tate, Justin Gehtland and J2EE without EJB by Rod Johnson. Of course the SCJD assignment doesn't ask for that much, but it's really good to reveal why should we use a certain design and the typical usage of that design, given the concrete scene from the SCJD assignment. And, if this part of the book gets reasonably improved, the whole book would be much more valuable even after the SCJD assignment is done.



    Chapters 2 and 3 are being expanded to give more details on system analysis and design, in particular why each step is important. This is then being reflected in the later chapters. More time is also being spent on design patterns throughout the book.

    However it is important to be aware of the target audience is. For example, although design patterns will be covered, it is know that readers of this book are not purchasing it specifically for design patterns. It is also known that design patterns cannot be covered to the depth of the dedicated books on this subject. So more time is spent on the subjects that candidates for SCJD really do want to see.

    I heard the second edition is in progress. I would really like to get it again, if it turns out good. Eyes on it.



    I heard that too

    Please do post any other thoughts you have.

    Regards, Andrew
     
    Greenhorn
    Posts: 13
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi,

    I am also interested in the second edition of the book, what's the approx. release date?

    Thanks,

    Eric

    SCJP 1.4
    SCWCD 1.3.
     
    Ranch Hand
    Posts: 267
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi all
    I just bought the book and i am still expecting shipment and you guys tell me the book is kinda "not worth it" Well you guys had better be wrong! I heard that it's a good book for you to get to understand the assignment. Please someone reply me and tell me that it's totally worth the buy(I know it is). Thanks all.
    Saheed.
     
    Ellen Zhao
    Ranch Hand
    Posts: 581
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi Saheed,

    please don't get me wrong!

    As I've said this book is very successful in many ways, countless people have highly appreciated it. Let me just list a few of the significant pros:

    1. If your knowledge of Java is just beyond the SCJP 1.4 (that means, no more experience in any real project), this book is probably a perfect guide to make you from a live java compiler to a real developer. From the basic design considerations, coding stardard...etc to the end wrapping of the project, this book walks you through step by step. It tells what you need for SCJD.

    2. If passing the SCJD exam is your only purpose, by reading this book, you'll save probably hundreds of hours of reading other books on specific topics like architecture design or concurrency. It tells everything you need for SCJD.

    It tells what you need for SCJD and it tells all what you need for SCJD, what more are you looking for then?

    Why I posted my suggestions above? All my purpose is to make the second edition more outstanding (suppose my suggestions were somehow useful). Nothing is perfect, there's always room for improvement. If you are looking for something perfect, you'll never find it. Given no book is perfect, this book is already a good choice. This book will bring you much knowledge, as it did to me more than one year ago. What's more, you can see a lot of references in this book for further study. Those really can open your eyes. Without the references in the book, I wouldn't have looked at some more advanced books and wouldn't come here to express my opinions.

    Feel better, Saheed? No more crying and no more bang head please, happily wait for your copy of this book.


    Regards,
    Ellen
    [ December 12, 2004: Message edited by: Ellen Zhao ]
     
    Andrew Monkhouse
    author and jackaroo
    Posts: 12200
    280
    Mac IntelliJ IDE Firefox Browser Oracle C++ Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi Eric,

    Originally posted by Eric Benoit:
    I am also interested in the second edition of the book, what's the approx. release date?



    Books take considerable time to put together (consider a hectic schedule to include 1 chapter a month, then technical edits, non-technical edits, markup, printing, distribution, ...

    From memory the aim is mid next year.

    Regards, Andrew
     
    Andrew Monkhouse
    author and jackaroo
    Posts: 12200
    280
    Mac IntelliJ IDE Firefox Browser Oracle C++ Java
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi Saheed,

    Originally posted by Saheed Adepoju:
    Hi all
    I just bought the book and i am still expecting shipment and you guys tell me the book is kinda "not worth it" Well you guys had better be wrong! I heard that it's a good book for you to get to understand the assignment. Please someone reply me and tell me that it's totally worth the buy(I know it is). Thanks all.
    Saheed.



    I hope you didn't think that I was saying that the book is not worth it .

    I think this is the best book for SCJD. I am also of the opinion that this is the best book for taking you right through a project where you create a client application and a server application, and the networking code, and the data access code. Most books make some assumption somewhere along the way - they assume you are using a commercial database, or that you are using J2EE or that you must be using RMI or ...

    But, as is always the case with any book (or anything in life), there is always room for improvement. The new version of the book is being worked on as we speak, and comments on what readers think might be better will be taken on board. As such, Ellen's comments (and Anton's and Inuka's comments a short while ago) are much appreciated.

    Regards, Andrew
     
    Greenhorn
    Posts: 18
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    I can see that discussion on this book is alive and well . . .
    Many things have already been written and discussed in this and other posts so I will shorten my comments as much as I can.
    I passed my SCJP this past August and continued to the SCJD without any other Java knowledge or experience. I must admit that I was also quite frustrated with the book's lack of depth and breadth on the technical side of things. But over time I realized that I have quickly forgotten my own experience as a developer in the mainframe world - "technical handholding" no longer applies in the transition from the programmer to the developer level. Technical competence and flexibility is assumed as a given and the focus shifts to design/analysis/usability/user-friendliness/maintainability etc etc. This is exactly what Max's book does. There is no question that improvements can always be made, however I would say that this book is definately a must (but also not the only) source for my SCJD preparation.
     
    town drunk
    ( and author)
    Posts: 4118
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Wow! It's really great to get so much feedback about the SCJD book: As some of you may know, I've been incredibly impressed with Andrew's breath and depth of knowledge, as well his generous nature in sharing it. I was one of the people who originally invited him to moderate this forum, and now I'm invited him to be a co-author on the next version of the SCJD book. I agree with Anton: I want to see him write a book too!

    I also want to thank everyone who's taken to time to provide feedback, and I hope that you continue to do so.

    What I would like, if you have the time, is even more concrete feedback. For example, what topic would you like to read a chapter on? How much explanation do you want, versus technical materials? Should the book be larger or more concise? How's the writing style, and what can we do to improve it? We're thinking about providing a workbook for classroom instruction, and perhaps other SCJD related training services. What do you all think? My vision for the next edition is to take community feedback and incorporate it into the next version of the book. So, please, let's hear your opinions!

    Happy Holidays,
    M
     
    Ranch Hand
    Posts: 1392
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    The university where I live offers non-credit evening classes often taught by people who work for businesses. A prerequisite for the 3- quarter Java sequence and the 3-quarter C++ sequence is a class in OO concepts. As the course progressed we had to find the objects in a requirements statement, make some CRC cards, draw sequence diagrams for some use cases and finally draw a class diagram. For the exam, we had to do the same thing, go through the steps of modeling a system.

    Therefore, I was surprised to see that on the SCJD forum people do not discuss what are the key concepts and how to find them. Instead they recommend to others to start by coding up the database.

    When I browsed Max�s book in the bookstore I didn�t see any discussion on analyzing the requirements for key concepts. I didn�t see anything about assigning responsibilities to the concepts. So I did not purchase the book (yet).

    I recently found this article by James Coplien (who is a highly regarded member of the C++ community) http://www.artima.com/weblogs/viewpost.jsp?thread=6771 This suggests to me that there is a design step that precedes coding up the database.

    I�ve not downloaded the SCJD assignment yet, because I don�t want to become immersed in the details that everyone discusses on this forum without knowing what the key concepts are and their relationships. I derived the typical problem statement by reading the posts and I have tried to design and code a solution of core concepts. I also wanted to see how the whole system might be organized, and how the peices are related to each other. It turns out there are quite a few design and coding issues to consider even this way.

    For your book Max and Andrew, I would like you to consider whether there is a missing piece at the start of the process. I look forward to (eventually) reading the next edition of your book. Given the talents of the two authors, it will be good.

    Regards, Marlene
    [ December 27, 2004: Message edited by: Marlene Miller ]
     
    Max Habibi
    town drunk
    ( and author)
    Posts: 4118
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi Ellen, Thanks for taking the time to provide some feedback. Please see my replies below.



    - The Threading Part (Chapter 4)

    My assignment required to implement a read/write lock, and I heard other assignments require that too. Chapter 4 of the book does mentioned the lock object in somewhere near page 113, I still feel gap between what was asked from the assignment and what was taught in the book.


    The Lock object(i.e., the FileLock object) should not be used in your assignment, because it's behavior is OS dependent. That's the reason we only mention it for completeness. What we try to do instead is focus on the minimally complex locking solution you need, a pessimistic lock. Doug's book is excellent, but some of the solutions mentioned in his book are overkill for the SCJD assignment( leases, etc).


    - Vector

    While the type vector had been deprecated since j2se 1.2, I still see Vector everywhere in this book. ArrayList might be better?

    I couldn't agree more (except that it's not deprecated) , and I said as much in the book. I actually used Vectors and ArrayLists to make the point about using the appropriate type of data structure, because they're such perfect examples. That's been misread, sometimes, to imply that I advocated the use of the Vector. That is certainly not correct.


    - On system analysis and design

    I think this part could go in more depth and/or in more breath. I kinda like the approach in the books Better, Lighter, Faster Java by Bruce A. Tate, Justin Gehtland and J2EE without EJB by Rod Johnson. Of course the SCJD assignment doesn't ask for that much, but it's really good to reveal why should we use a certain design and the typical usage of that design, given the concrete scene from the SCJD assignment. And, if this part of the book gets reasonably improved, the whole book would be much more valuable even after the SCJD assignment is done.



    I agree with you here, and I think you'll be pleasantly surprised in the next iteration on this.

    All best,
    M
     
    Ranch Hand
    Posts: 4982
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Max,

    Will you upgrade your book for Tiger?

    Nick
     
    Max Habibi
    town drunk
    ( and author)
    Posts: 4118
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Yup, that's the plan
     
    Ranch Hand
    Posts: 531
    1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Hi, Max!!

    I think that you asked Andrew to be in on the book is a great choice. May I make one suggestion for the next edition? The elegant solution of the IOException - RemoteException might be better if explicitly worded. I am sure it has been suggested before.

    Otherwise, of course, I wish you guys the best with this new edition. Surely the old one helped me and many others a great deal.
     
    With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    reply
      Bookmark Topic Watch Topic
    • New Topic