Thursday, October 23, 2003


Why do I feel like I'm being baited here?
Okay, well first off, I thought it would be a five month job, not change my life. It has, however, because it turned out to be an unbelievable huge job, one that is far from complete. Originally, the "Java Rules" book in print, Mastering the Fundamentals, Volume 2, and all the unpublished chapters were one book. I work in Adobe FrameMaker, which has .book files. I still maintain a .book file that includes all my work for the purpose of searching. However, several years ago I renamed it to "The"

Why I have not given up is one thing, why I started is another. Doubtless there were mixed motives, but I think the main one was that I was so frustrated trying to learn C++. I just thought I could do a better job. Java came along right when I was working on the beginnings of a C++ book, and leveled the playing field. I saw that as a once in a lifetime opportunity and threw myself into the writing of a Java fundamentals book.

Here I want to point out that I was a construction worker for five years before becoming a computer programmer. I throw that out because I have never thought of myself as one of the "best and brightest" in the profession. James Gosling, Guy Steele, Gilad Bracha, Neil Gafter, and the other luminaries at Sun are gods in the Java pantheon, and I admire them as much today (if not more) than I did when I started.

I have written a number of papers on this subject, but will try to condense the thoughts. I do not think the MIT or IIT grads or what I call the "best and brightest" can write this book. It simply had to be done by a lesser mortal. As your understanding progresses, you lose the perspective of someone that knows nothing about the subject. That perspective is what allows you to "translate" the knowledge. The best and brightest lose that perspective long before they even graduate from college. (I dropped out after three years and joined the Army, by the way.) I cannot overemphasize this point. That is why I have been so diligent in documenting my learning experience from day one. Java Rules and all my other work on this subject are what I like to characterize as a "travel log" of my journey from knowing nothing to having a reasonably good understand of Java language fundamentals. I have been maintaining that travel log from the 1.0.2 release, fully seven or eight years now, which is why I am confident that noone will ever be able to reproduce my work. A thousand times over my understanding of the subject has blossomed and I have never once failed to document the experience. If you wait even a day or two to do so, you begin to lose the perspective of where you were before. No one else has ever done this. Instead they wait until they have already mastered the subject, and then it is too late, way too late. I still have a long way to go. I know this. Just last night I completely rewrote the section on narrowing reference conversions. It was a massive leap forward in that particular section.

You can't imagine how time consuming it is to do this. It has derailed my entire career in computer programming to the point that the book has now become my career.

Beyond this historical perspective, I have always enjoyed helping other programmers even more than I enjoy programming. I really mean this. The programmers I have worked with in the past have known this, and I always had people coming to my cube because they knew I would not make them feel stupid no matter what the problem. I suppose I thought I could do the same on a larger scale by writing this book, at least I hope so. Time will tell. I never promoted the "Java Rules" book in print because I see all of the flaws in it. It has only been with the publication of Mastering the Fundamentals, Volume 2 some three months ago that I have begun for the first time ever to promote my work, and things are unfolding rapidly.

You asked a huge question, and I have taken the bait. I hope what little I have said here gives you a better idea of what motivated me.

Tuesday, October 21, 2003 JavaWorld Stopped Updating Articles??????

Monday, October 20, 2003

Worker blogs raising concerns?

Tuesday, October 14, 2003 Historic photo archive available on the Web

Monday, October 13, 2003 This is Good website contains Plugins for Eclipse (JSP, ....).

Tuesday, October 07, 2003

"One of the main problems with today's software development is that many projects start programming too soon and concentrate too much effort on writing code. This is partly because managers lack the understanding of the software development process and become anxious when their programming team is not producing code. It's also because the programmers themselves feel more secure when they're programming—a task with which they are very familiar—than when they're building abstract models of the system they are to create."

—Eriksson, Hans-Erik and Penker Practical UML A Hands-On Introduction for Developers