OO Programming Newsletter #51 from Bruce Eckel July/August 2003 Calendar: http://www.mindview.net/Calendar Seminars: http://www.mindview.net/Seminars = = = Contents = = = * A note * Thinking in C++ V2 rev 19 posted * Survey of diagramming tools * Survey of Java profilers & bug-finding tools * Thinking in Java 3e receives JDJ editors choice award * Bill and I in Portsmouth NH Oct 27-31 * Bruce@Burning Man * New interview on Borland Community * Interviews on Artima.com * More weblogs = = = Seminars = = = * Thinking in Java 3e Hands-on Seminar * Java2 Enterprise Programming =================================== * A note A few people have asked about the July newsletter, and you can see that I renamed this one July/August, and even that has slid to late August. I've been _so_ immersed in the threads chapter (11) of "Thinking in C++, Volume 2" that everything else has taken a back seat most of the time. Yes, Bill Venners and I gave the first "Designing Objects & Systems" seminar here in Crested Butte a few weeks ago and had a great time; the seminar turned out better than I ever imagined and was a nice break from threads. Even though I thoroughly rewrote the threading chapter in "Thinking in Java, 3rd edition", and many years ago I created a little multitasking C++ example for Computer Language magazine (I've been thinking about this stuff for a long time), I still feel like I'm just starting to get a grasp of the topic. Based on what I learned for C++ threads, I have visions of once again completely rewriting the chapter in "Thinking in Java, 4th edition" (to come out in something over a year, whenever Sun gets JDK 1.5 out -- with templates and some of the biggest changes they've ever made ... what a challenge that will be). Although the threads chapter has been a huge struggle, I also realize that I've benefitted from some great opportunities. Eric Crahen, the creator of the C++ ZThreads library that we're using in "Thinking in C++, Volume 2," has patiently ripped apart my examples whenever I thought I knew what I was doing, and as a result I'm a lot closer to actually knowing what I'm doing. It was like having my own tutor. But one morning I got up very early and I think I cracked the rest of the problems. With C++ you have to think about every possible disaster in threads, because you're working without a net, and that's one reason it's taken so long. There may be a few minor changes left in the chapter, but it's basically done. I don't think I've ever spent so much time on a chapter, or a topic. PS: There are more viruses out there that are spoofing email addresses so I've been getting lots of bounce/virus notifications from messages I didn't send. We have several layers of very good virus protection here, so if it doesn't look like a real message from me, it's been spoofed. =================================== * Thinking in C++ V2 rev 19 posted As mentioned above, we've made great progress with the book. Chuck is finished with Chapter 5 ("Templates in Depth," with all kinds of information about these tricky beasts) and we're in polishing mode now. Please note that while the prose and examples are in decent shape, not all the formatting is fixed up, so concentrate on content, not presentation. Do us a favor and download Rev 19 of the book and code from the main download site: http://www.mindviewinc.com/Books/ Then install the ZThreads library (http://zthread.sourceforge.net/) as described at the beginning of Chapter 11 and see if you have any problems compiling and running anything. We especially need your help if you have the Metrowerks compiler under Mac OSX or the Edison Design Group compiler, since we are trying to get the makefiles fixed for those. If you find any bugs, email them. =================================== * Survey of diagramming tools I'd like to figure out what the best/easiest tools are for creating UML diagrams (primarily). They need to be very simple to use and adjust (for example, I typically don't show private fields in my diagrams, so I would like to be able to universally turn off that middle region for all new classes, rather than having to do it for each one) and they do need to be able to output in various useful formats including WMF (for use in Word documents). They don't have to be free, but those with trial versions are valuable especially because they can more easily be used in classroom situations. What have you used? What do you like/dislike? Send comments (no vendors, please) to me. If the results are interesting enough I'll post a weblog about it. =================================== * Survey of Java profilers & bug-finding tools I'd like similar comments to the above regarding tools in Java that are helpful for both profiling and bug-finding. The latter can encompass a lot of different possibilities, and I know there are some open-source tools available. I'd like to hear your experiences about all of them, and again, if it pans out I'll do a weblog. =================================== * Thinking in Java 3e receives JDJ editors choice award http://www.sys-con.com/java/archives.cfm (they'll make you sign in to get the password). The editor recommending it was Jason Bell, who said: "I've lost count how many times I've advised people to get hold of this book, whether by download or in print." =================================== * Bill and I in Portsmouth NH Oct 27-31 We'll be giving an in-house "Designing Objects & Systems" seminar to a company there, and I'll be available some of those evenings to speak at user groups, etc. Contact me if you want to get on the calendar. =================================== * Bruce@Burning Man I will be at the Burning Man festival (www.BurningMan.com), which is a kind of dynamic-creative continuously evolving art project out in the Nevada desert. If you're going to be there, we'll be in the Aetheria Village (at 2:30). Come by and visit. =================================== * New interview on Borland Community This is long and full of detail: http://community.borland.com/article/0,1410,30139,00.html =================================== * Interviews on Artima.com You can find the remaining installments of Bill Venner's interview with me at Artima.com: Part I: Python and the Programmer http://www.artima.com/intv/aboutme.html Part II: The Zen of Python http://www.artima.com/intv/prodperf.html Part III: Type Checking and Techie Control http://www.artima.com/intv/typing.html Part IV: Python and the Tipping Point http://www.artima.com/intv/tipping.html Also note that my weblog is listed on Bill's new "Buzz" which keeps track of new entries in weblogs, both on and off of artima.com: http://www.artima.com/buzz/index.jsp =================================== * More weblogs Yes, this isn't a daily thing, and it may never be (I try to make entries that are really worth reading). And with the aforementioned C++ threads chapter dominating my waking hours, I wasn't much good for other things. But the ideas have been piling up and "writing in the weblog" is definitely a place my mind turns when a compelling thought crosses my mind. http://www.mindview.net/WebLog = = = = = = Seminars = = = = = = * Thinking in Java 3e Hands-on Seminar Created by Bruce Eckel. We believe this is the best in-depth introduction to Java that you'll find. It's based on the third edition of the multiple award-winning book "Thinking in Java," which was created as the seminar evolved. The updated material includes: -- The latest features from JDK 1.4 -- All examples improved or rewritten -- An all-new, simplified learning approach to multithreading -- New section on unit testing, automated building, assertions, logging, and other ways to keep your programs in tune Oct 6-10, San Francisco Bay Area, CA (Registrations to open soon) http://www.mindview.net/Seminars/ThinkingInJava/ ___| Until Next Time... |________________________ Speaking & Seminar schedule: http://www.mindview.net/Calendar/ Computer nerd humor http://www.valleyofthegeeks.com/ Java programming questions: http://www.mindview.net/Books/TIJ/JavaQuestions.html Anyone can sign up for this free newsletter by visiting: http://www.mindview.net/mailman/listinfo/eckel-oo-programming Bruce Eckel http://www.mindview.net