<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: How to Think About Object Oriented Design</title>
	<atom:link href="http://blogs.teamb.com/craigstuntz/2005/06/29/20022/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.teamb.com/craigstuntz/2005/06/29/20022/</link>
	<description>News of interest to Delphi, .NET, and InterBase programmers</description>
	<pubDate>Tue, 06 Jan 2009 16:07:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Lars</title>
		<link>http://blogs.teamb.com/craigstuntz/2005/06/29/20022/#comment-523</link>
		<dc:creator>Lars</dc:creator>
		<pubDate>Mon, 16 Oct 2006 23:24:14 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.teamb.com/craigstuntz/2005/06/29/13013/#comment-523</guid>
		<description>From a low level and simple perspective, pbject orientation in &lt;a title="Borland Delphi home page" href="http://www.borland.com/delphi" &gt;Delphi&lt;/a&gt; is mainly procedural &lt;br&gt;programming with SELF being passed as a hidden parameter and a few other /syntactic sugars/ &lt;br&gt;going on under the hood.&lt;br&gt;&lt;br&gt;When people design OO code, they still eventually do some sort of procedural programming when &lt;br&gt;implementing the methods. Objects just allow us to reuse the procedures and keep the code a &lt;br&gt;lot neater than procedural code.  That doesn't mean you can't reuse procedural code!&lt;br&gt;Oh, you can - look at all the reusable DLL's people have written. The entire windows API.&lt;br&gt;Reusable procedural code can be inherited and modified just like objects can - it is just&lt;br&gt;messier doing it that way! It's that simple - OO hides code and reduces the verbosity &lt;br&gt;of procedural code. It hides some brackets and incoming parameters.&lt;br&gt;&lt;br&gt;OO can be emulated in Delphi without using any of the OO features - just use records and &lt;br&gt;pass SELF in to each procedure, using GET and SET calls instead of properties. The problem &lt;br&gt;with emulating OO using procedural code is that it ends up looking ugly - it's all &lt;br&gt;about syntax sugar. OO let's us be less verbose than procedural code (and cleaner).</description>
		<content:encoded><![CDATA[<p>From a low level and simple perspective, pbject orientation in <a title="Borland Delphi home page" href="http://www.borland.com/delphi" >Delphi</a> is mainly procedural<br />
<br />programming with SELF being passed as a hidden parameter and a few other /syntactic sugars/<br />
<br />going on under the hood.</p>
<p>When people design OO code, they still eventually do some sort of procedural programming when<br />
<br />implementing the methods. Objects just allow us to reuse the procedures and keep the code a<br />
<br />lot neater than procedural code.  That doesn&#8217;t mean you can&#8217;t reuse procedural code!<br />
<br />Oh, you can - look at all the reusable DLL&#8217;s people have written. The entire windows API.<br />
<br />Reusable procedural code can be inherited and modified just like objects can - it is just<br />
<br />messier doing it that way! It&#8217;s that simple - OO hides code and reduces the verbosity<br />
<br />of procedural code. It hides some brackets and incoming parameters.</p>
<p>OO can be emulated in Delphi without using any of the OO features - just use records and<br />
<br />pass SELF in to each procedure, using GET and SET calls instead of properties. The problem<br />
<br />with emulating OO using procedural code is that it ends up looking ugly - it&#8217;s all<br />
<br />about syntax sugar. OO let&#8217;s us be less verbose than procedural code (and cleaner).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mike montagne</title>
		<link>http://blogs.teamb.com/craigstuntz/2005/06/29/20022/#comment-410</link>
		<dc:creator>mike montagne</dc:creator>
		<pubDate>Mon, 26 Sep 2005 14:29:40 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.teamb.com/craigstuntz/2005/06/29/13013/#comment-410</guid>
		<description>Yes, I realize that. The real gist of OOP is indeed a difficult issue to put a readership's hands around. Yet we are certainly within an evolutionary phase where almost all modern application development is OO. A reason we evidently use the same development tools, is evidently a mutual appreciation for the quality of the original abstractions indigenous to those tools. My apologies, if the tone is interpreted as merely critical. The intention was to encourage focus on what makes OO most excellent -- which at the same time is to encourage what is vital to the continued health both of our favorite tools, and the entire public surviving by the excellence of underlying concepts. Yes, then: the general public *needs* to grasp the underlying issues, so that we all are empowered to prosper by OO Design. Thus as no article on OO Design will be finished until we altogether ratify a perfected formula for OO Design, in effect, the best that any of us can do to then is categorize the areas of effort, and how all together can be perfected.</description>
		<content:encoded><![CDATA[<p>Yes, I realize that. The real gist of OOP is indeed a difficult issue to put a readership&#8217;s hands around. Yet we are certainly within an evolutionary phase where almost all modern application development is OO. A reason we evidently use the same development tools, is evidently a mutual appreciation for the quality of the original abstractions indigenous to those tools. My apologies, if the tone is interpreted as merely critical. The intention was to encourage focus on what makes OO most excellent &#8212; which at the same time is to encourage what is vital to the continued health both of our favorite tools, and the entire public surviving by the excellence of underlying concepts. Yes, then: the general public *needs* to grasp the underlying issues, so that we all are empowered to prosper by OO Design. Thus as no article on OO Design will be finished until we altogether ratify a perfected formula for OO Design, in effect, the best that any of us can do to then is categorize the areas of effort, and how all together can be perfected.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Craig Stuntz</title>
		<link>http://blogs.teamb.com/craigstuntz/2005/06/29/20022/#comment-409</link>
		<dc:creator>Craig Stuntz</dc:creator>
		<pubDate>Mon, 26 Sep 2005 13:58:47 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.teamb.com/craigstuntz/2005/06/29/13013/#comment-409</guid>
		<description>Mike:&lt;br&gt;&lt;br&gt;&#62; ...this article barely touches the surface &lt;br&gt;&#62; of the concept and issues of OO Design...&lt;br&gt;&lt;br&gt;That's because I've only just started it. Read the highlighted section at the top of the article. There's a lot fo work yet to do.</description>
		<content:encoded><![CDATA[<p>Mike:</p>
<p>&gt; &#8230;this article barely touches the surface<br />
<br />&gt; of the concept and issues of OO Design&#8230;</p>
<p>That&#8217;s because I&#8217;ve only just started it. Read the highlighted section at the top of the article. There&#8217;s a lot fo work yet to do.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mike montagne</title>
		<link>http://blogs.teamb.com/craigstuntz/2005/06/29/20022/#comment-114</link>
		<dc:creator>mike montagne</dc:creator>
		<pubDate>Mon, 26 Sep 2005 13:54:49 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.teamb.com/craigstuntz/2005/06/29/13013/#comment-114</guid>
		<description>While perhaps a departure point for OO design discussion, this article barely touches the surface of the concept and issues of OO Design. If its readership were not intended to be developers or prospective developers, I can understand the desire to avoid the traditional topical categories. But I think instead, it would be more useful to preface those topics with more tangible definitions of OO programming and OO Design issues. One undoubtable virtue of OOP (expressed in terms for the broadest potential audience) is it is a pattern, without which, almost all application software would far more expensive, and difficult to deliver. OOP, in effect, is a pattern by which software development specializations are delegated, and by which, in the end, application development is reduced to the more manageable responsibilities, of authoring what makes the given application unique. I believe these are the real, driving forces behind the broad adoption of OOP. Perhaps that makes the respective aspects of encapsulation the most important virtue of OOP; and perhaps that further means that these aspects of encapsulation deserve the initial intentions of such a basic article on OOP Design. David, by way of the indicated site, expresses many reservations which, imho, only point out the many human failings to achieve the ideals of OOP. I believe, because of personal work, that on the contrary, we are on the cusp of formalizing a specirication for *how* to design OOP. It is easy to ding OOP for excessive resource footprints for instance. But to contribute to a perception of OOP, it is more useful to suggest the pathway to the perfection of OOP. Obviously, object-oriented techniques are as readily perfected as any other possible programming approach. I would say, on the contrary, that because of the potentials of encapsulation, that OO Design is even *more* readily perfected. There is no *inherent* disadvantage to OOP whatsoever. What I advocate, is the perfection of specifications for trees of descendants, exceptionless programming, and optimized resource deployment -- all of which are readily perfected in OO design. The very encapsulation of OOP, and revision of the OO architecture of descendant trees readily possible by OOP, make OOP by far the most preferrable medium for achieving these objectives.</description>
		<content:encoded><![CDATA[<p>While perhaps a departure point for OO design discussion, this article barely touches the surface of the concept and issues of OO Design. If its readership were not intended to be developers or prospective developers, I can understand the desire to avoid the traditional topical categories. But I think instead, it would be more useful to preface those topics with more tangible definitions of OO programming and OO Design issues. One undoubtable virtue of OOP (expressed in terms for the broadest potential audience) is it is a pattern, without which, almost all application software would far more expensive, and difficult to deliver. OOP, in effect, is a pattern by which software development specializations are delegated, and by which, in the end, application development is reduced to the more manageable responsibilities, of authoring what makes the given application unique. I believe these are the real, driving forces behind the broad adoption of OOP. Perhaps that makes the respective aspects of encapsulation the most important virtue of OOP; and perhaps that further means that these aspects of encapsulation deserve the initial intentions of such a basic article on OOP Design. David, by way of the indicated site, expresses many reservations which, imho, only point out the many human failings to achieve the ideals of OOP. I believe, because of personal work, that on the contrary, we are on the cusp of formalizing a specirication for *how* to design OOP. It is easy to ding OOP for excessive resource footprints for instance. But to contribute to a perception of OOP, it is more useful to suggest the pathway to the perfection of OOP. Obviously, object-oriented techniques are as readily perfected as any other possible programming approach. I would say, on the contrary, that because of the potentials of encapsulation, that OO Design is even *more* readily perfected. There is no *inherent* disadvantage to OOP whatsoever. What I advocate, is the perfection of specifications for trees of descendants, exceptionless programming, and optimized resource deployment &#8212; all of which are readily perfected in OO design. The very encapsulation of OOP, and revision of the OO architecture of descendant trees readily possible by OOP, make OOP by far the most preferrable medium for achieving these objectives.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Melchior</title>
		<link>http://blogs.teamb.com/craigstuntz/2005/06/29/20022/#comment-97</link>
		<dc:creator>David Melchior</dc:creator>
		<pubDate>Fri, 01 Jul 2005 05:54:34 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.teamb.com/craigstuntz/2005/06/29/13013/#comment-97</guid>
		<description>I think that &lt;a rel="nofollow" target="_new" href="http://www.geocities.com/tablizer/oopbad.htm"&gt;http://www.geocities.com/tablizer/oopbad.htm&lt;/a&gt; makes an interesting starting point for an OOP discussion. (Not that I agree with the claims made on the page)</description>
		<content:encoded><![CDATA[<p>I think that <a rel="nofollow" target="_new" href="http://www.geocities.com/tablizer/oopbad.htm">http://www.geocities.com/tablizer/oopbad.htm</a> makes an interesting starting point for an OOP discussion. (Not that I agree with the claims made on the page)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
