|
On 03/07/2001 at 01:14:20 PM, owner-java400-l@midrange.com wrote: OO programming it will take 1000 work units to initially create, and then each update requires 25 work units. Procedural programming will take 350 work units to initially create, and each update will take 48 work units. The further you take OO, the more work units I can see it taking to produce an end product. And, assuming it's done correctly (you don't paint yourself into a corner sub/superclassing everything) it will help similar developement as well as updates (ie tying it in with inventory). I'd love to hear other's opinions on this, especially anyone who's done production Java and RPG/ILE (real ILE) programming on similar systems. --- end of excerpt --- I completely agree in concept and I like your 'work units' idea. I've personally found the delta for both understanding a product and making updates to a product OO model versus a procedural model to be MUCH more significant (probably as much or more so as the delta between design in the models.). Its really REMARKABLY EASY for me to load thousands of classes/files into my tagging editor, spend an hour or two looking at the object relationships and have a really good understanding of the overall infrastructure of the product. (I've actually done this for Websphere on AS/400 even though I work on the JDBC team). In a large procedural product, that effort is much more difficult and leads to much higher cost to understanding the product and to making (safe and correct) changes. === So, as a swag at numbers, I'd probably change the update to be 25 work units for OO and 65 for procedural. Between 2 and 3 times as much to 1) get the understanding of the product 2) make the changes 3) get the changes right. OO seems to help in all these areas. === In reality the thing I find is that the code I write is really a hybrid of procedural and OO where the more procedural stuff is usually part of the objects that make sense. I think after experience, people should learn to avoid OO for OO sake. Maybe I'm not a purist. That's fine. I'm ok with it. What I find for reality is that in a hybrid model, you use OO for the things that make sense and use procedural programming for some things. My goal's for almost everything I do follows that old 80/20 rule where you stop doing something when you start getting diminishing returns. "20% more design time will save 80% time during the updates" That 20% of the design time should be focused on complex, frequently updated, problematic or areas suited to OO. (Suited to OO is something that comes with practice). i.e. spend 420 work units in order to get updates that cost 33 work units. ( my update numbers 65 - ((65-25)*.8) Reality of these numbers are certainly arguable too. "The stuff we call "software" is not like anything that human society is used to thinking about. Software is something like a machine, and something like mathematics, and something like language, and something like thought, and art, and information... but software is not in fact any of those other things." Bruce Sterling - The Hacker Crackdown Fred A. Kulack - AS/400e Java and Java DB2 access, Jdbc, JTA, etc... IBM in Rochester, MN (Phone: 507.253.5982 T/L 553-5982) mailto:kulack@us.ibm.com Personal: mailto:kulack@bresnanlink.net AOL Instant Messenger: Home:FKulack Work:FKulackWrk +--- | 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.