|
John, I agree with your point, but I'd like to toss something into the mix. While I'm still pretty much an amateur at OO stuff, I'd like to think that I'm at least a GOOD amateur. I think I understand the concepts pretty well, and much of it I learned in a language that few people would consider OO: C! That's right, C, not C++. Way back when I had been introduced to Smalltalk, which gave me my first glimpse of the concepts, but I never really did any formal OO training. Then I was placed in charge of what eventually became a 3-million line OS/2 project that was written entirely in C. Early on I realized that traditional programming techniques were going to kill us. Each time someone made a change in a structure, we all had to recompile our modules, and with four different development teams, things got out of hand very quickly. So instead, we developed the idea of "handles". A handle was a void pointer. Whenever we needed to deal with an object (a window, or a data record, or a graph, or whatever) we got a handle to that object. In order to do work, we called procedures whose first parameter was the object handle. Except for the guy who wrote the procedure, nobody knew what the exact structure of the data pointed to by the handle. This saved the project by allowing us to have separate development teams working on different areas without constantly having to retrofit changes. Why do I bring this up? Because the next step in my OO path was the Design Patterns book. And although I was no C++ expert, I was able to grasp the context of the patterns because I had employed one or more of them in my development project without even knowing about it. Now, here was somebody explaining the concepts in a sort of neutral (I guess today's word would be "language-independent") tone. Because of that, I realized from the very beginning that the concepts - and here's the point I'm laboriously getting to - had nothing to do with the language used to implement them! In fact, I probably learned things about C++ that I wouldn't have picked up through a purely syntactical study of the language. So now, when I finally began to learn Java, every time I used a feature, I was able to sort of mentally slot it into the concepts I had learned more abtractly through the Design Patterns book. It dawned on me perhaps a year and a half ago that rather than implementing Java code using OO techniques, I was actually designing OO patterns and using Java to implement them. And this from a guy who learned RPG solely through one of the "Programmed Learning" manuals IBM used to have: question on page 1, answer on page 2. Flip, flip, flip. By the end of the book, you knew the language. Anyway, I throw this out because there may be some benefit to learning OO techniques in a language-neutral environment. Then again, the fact that I've been programming in Java for three years and am really just beginning to use the techniques to their full capability may indicate the opposite <grin>. > [mailto:owner-java400-l@midrange.com]On Behalf Of John Taylor > Subject: Re: HTML to XML, vice versa > Have you ever seen a Java-centric version of this worthy book? > > Trying to mentally translate the differences between C++ and Java might > prove to be too much for someone just learning OO. +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.