|
Alan, I agree on the point you need to know design principles to construct a database or a programme. But.... You are mixing design principles. ILE and OO are not the same, ILE and RPG IV are not the same (Vernon already stated that, rightly so), database design and OO are not the same (Relational DB and Object DB are different concepts). You do not need OO principles to develop a programme; it is all based on functional decomposition or better: modularization. Subroutines are the lowest forms of modularization, functions and (service) programmes are the higher levels. What you describe is not object oriented programming, you talk about function logic oriented programming (you may invent your own acronym for that). Apperently, and watching the ever returning discussion on RPG III/RPG IV (or the use of ILE concepts), it never took off. My assumption is: "If you know when to put a piece of code in a subroutine, then you have half written your programme". And you can substitute the word "subroutine" for "procedure", "programme", anything you like. It is all based on programme structure: one programme (you call that "monolith"), six programmes, who cares. And the idea, that you cannot write modular programmes in RPG III is completely absurd. You did not have ILE, OO already existed. You could use the same methodology of programme design than, as you can use it nowadays. Perhaps the net result was a overkill of small programmes, or a programme with a lot of subroutines, called on basis of a code, passed as an extra parameter. And don't tell me, you did not have any design principles in those days. The base of it all is: you use what is available and use it to the best practice. The main importance is design, the programming language is not important: it could be any language. Just my humble opinion. Regards, Carel Teijgeler *********** REPLY SEPARATOR *********** On 23-6-05 at 12:53 Alan Campin wrote: >Boy, strongly disagree with you. > >How can you make a statement that "none of this stuff is programming"? The >exact opposite is true. How can you build maintainable >code without using >these principals? Knowing the syntax of a language is not >programming.Programming is knowing and applying >software engineering >principles. >Anybody can sit down and just start typing. That's not programming. How can >you write maintainable code if you cannot do >functional decomposition? How >can you write decent code if you cannot abstract? How can you create databases >if you cannot >normalize data structures? > >How about applying these principles makes it easier to write maintainable code >quicker. How can you write maintainable code if you >are repeating business >logic in program after program which is what you are going to do if you cannot >abstract. Writing maintainable >code means writing logic in one place, it >means using encapsulation to hide logic and data so changes can be made in one >place >without effecting the rest of the system. > >So I guess what you are saying is that the millions of man years of work put >in my thousands of people developing the concepts of >software engineering >were for nothing? If that where true, why do we even need ILE, procedures, >service programs or Object Oriented >Language? Why not just write everything >with goto's in big massive program. All of this stuff exists to implement the >software >engineering principles that have painstakingly worked out over the >years. How can I use these tools if I don't understand software >engineering >principles? I can't. I am just going to a monolith programmer typing code. > >The fact that RPG III provided almost nothing to implement these principles >doesn't mean we can just ignore them and just start >typing. We now have a >language in RPG IV and an environment in ILE that allow us to apply those >principles. Let's use it.
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.