<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Embracing Encapsulation</title>
	<atom:link href="http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/</link>
	<description>Random thoughts on tech, books, programming, etc.</description>
	<lastBuildDate>Sat, 21 Jan 2012 10:19:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: itjob123</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1618</link>
		<dc:creator>itjob123</dc:creator>
		<pubDate>Wed, 02 Dec 2009 17:38:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1618</guid>
		<description>I think with software the difference is the cycle time is about 4 years max. If a technology isn&#039;t recycled or parted-out within 4 years it will slowly rot away.</description>
		<content:encoded><![CDATA[<p>I think with software the difference is the cycle time is about 4 years max. If a technology isn&#39;t recycled or parted-out within 4 years it will slowly rot away.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-607</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Wed, 25 Jun 2008 15:52:11 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-607</guid>
		<description>But, if in order to fully express the problem in a specific technology, one has to learn how to bend one&#039;s perspective to match it, then is it really a good technology? 

And if it requires merging together several different mutually exclusive paradigms, such as OO and FP, isn&#039;t this just getting messy for the sake of having too many little moving bits?

In the end, are we looking for intricate little bits to fiddle with or are we actually trying to take something with a massive amount of complexity and reduce it into something that is simple, maintainable and solves (some of) our user&#039;s problems?

So, if after fifty years of progress, the technologies aren&#039;t actually getting more simple or obvious, and are in fact getting way way harder to grok, isn&#039;t that a strong indicator that there is some type of serious problem with them? Do we get more from our modern technologies, or is it that there is just more code and data available to play with?


Paul.</description>
		<content:encoded><![CDATA[<p>But, if in order to fully express the problem in a specific technology, one has to learn how to bend one&#8217;s perspective to match it, then is it really a good technology? </p>
<p>And if it requires merging together several different mutually exclusive paradigms, such as OO and FP, isn&#8217;t this just getting messy for the sake of having too many little moving bits?</p>
<p>In the end, are we looking for intricate little bits to fiddle with or are we actually trying to take something with a massive amount of complexity and reduce it into something that is simple, maintainable and solves (some of) our user&#8217;s problems?</p>
<p>So, if after fifty years of progress, the technologies aren&#8217;t actually getting more simple or obvious, and are in fact getting way way harder to grok, isn&#8217;t that a strong indicator that there is some type of serious problem with them? Do we get more from our modern technologies, or is it that there is just more code and data available to play with?</p>
<p>Paul.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1883</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Wed, 25 Jun 2008 15:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1883</guid>
		<description>But, if in order to fully express the problem in a specific technology, one has to learn how to bend one&#039;s perspective to match it, then is it really a good technology? 

And if it requires merging together several different mutually exclusive paradigms, such as OO and FP, isn&#039;t this just getting messy for the sake of having too many little moving bits?

In the end, are we looking for intricate little bits to fiddle with or are we actually trying to take something with a massive amount of complexity and reduce it into something that is simple, maintainable and solves (some of) our user&#039;s problems?

So, if after fifty years of progress, the technologies aren&#039;t actually getting more simple or obvious, and are in fact getting way way harder to grok, isn&#039;t that a strong indicator that there is some type of serious problem with them? Do we get more from our modern technologies, or is it that there is just more code and data available to play with?


Paul.</description>
		<content:encoded><![CDATA[<p>But, if in order to fully express the problem in a specific technology, one has to learn how to bend one&#8217;s perspective to match it, then is it really a good technology? </p>
<p>And if it requires merging together several different mutually exclusive paradigms, such as OO and FP, isn&#8217;t this just getting messy for the sake of having too many little moving bits?</p>
<p>In the end, are we looking for intricate little bits to fiddle with or are we actually trying to take something with a massive amount of complexity and reduce it into something that is simple, maintainable and solves (some of) our user&#8217;s problems?</p>
<p>So, if after fifty years of progress, the technologies aren&#8217;t actually getting more simple or obvious, and are in fact getting way way harder to grok, isn&#8217;t that a strong indicator that there is some type of serious problem with them? Do we get more from our modern technologies, or is it that there is just more code and data available to play with?</p>
<p>Paul.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: esteve</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-606</link>
		<dc:creator>esteve</dc:creator>
		<pubDate>Wed, 25 Jun 2008 11:58:17 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-606</guid>
		<description>&lt;i&gt;I’m hoping to change that, but maybe you just are smarter :-)&lt;/i&gt;

C&#039;mon, you know I&#039;m not smarter than you :-) It&#039;s just a matter of getting used to some paradigm/methodology/etc. For example, Python and Ruby make functional programming easy to integrate in a object-oriented language. Once you have gotten used to use functions as first class citizens, you feel that Java imposes you too many limits.

That&#039;s why I like C++ and Python so much:

- traditional procedural language (check)
- object oriented features (check)
- functional programming (check). In C++, if you want to pass around functions, you&#039;ll need to write a class that overloads the () operator (usually called a functor). It&#039;s not as straightforward as in Python, but it&#039;s something you cannot do in Java.</description>
		<content:encoded><![CDATA[<p><i>I’m hoping to change that, but maybe you just are smarter :-)</i></p>
<p>C&#8217;mon, you know I&#8217;m not smarter than you :-) It&#8217;s just a matter of getting used to some paradigm/methodology/etc. For example, Python and Ruby make functional programming easy to integrate in a object-oriented language. Once you have gotten used to use functions as first class citizens, you feel that Java imposes you too many limits.</p>
<p>That&#8217;s why I like C++ and Python so much:</p>
<p>- traditional procedural language (check)<br />
- object oriented features (check)<br />
- functional programming (check). In C++, if you want to pass around functions, you&#8217;ll need to write a class that overloads the () operator (usually called a functor). It&#8217;s not as straightforward as in Python, but it&#8217;s something you cannot do in Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: esteve</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1882</link>
		<dc:creator>esteve</dc:creator>
		<pubDate>Wed, 25 Jun 2008 11:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1882</guid>
		<description>&lt;i&gt;I’m hoping to change that, but maybe you just are smarter :-)&lt;/i&gt;

C&#039;mon, you know I&#039;m not smarter than you :-) It&#039;s just a matter of getting used to some paradigm/methodology/etc. For example, Python and Ruby make functional programming easy to integrate in a object-oriented language. Once you have gotten used to use functions as first class citizens, you feel that Java imposes you too many limits.

That&#039;s why I like C++ and Python so much:

- traditional procedural language (check)
- object oriented features (check)
- functional programming (check). In C++, if you want to pass around functions, you&#039;ll need to write a class that overloads the () operator (usually called a functor). It&#039;s not as straightforward as in Python, but it&#039;s something you cannot do in Java.</description>
		<content:encoded><![CDATA[<p><i>I’m hoping to change that, but maybe you just are smarter :-)</i></p>
<p>C&#8217;mon, you know I&#8217;m not smarter than you :-) It&#8217;s just a matter of getting used to some paradigm/methodology/etc. For example, Python and Ruby make functional programming easy to integrate in a object-oriented language. Once you have gotten used to use functions as first class citizens, you feel that Java imposes you too many limits.</p>
<p>That&#8217;s why I like C++ and Python so much:</p>
<p>- traditional procedural language (check)<br />
- object oriented features (check)<br />
- functional programming (check). In C++, if you want to pass around functions, you&#8217;ll need to write a class that overloads the () operator (usually called a functor). It&#8217;s not as straightforward as in Python, but it&#8217;s something you cannot do in Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-605</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Tue, 24 Jun 2008 23:24:18 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-605</guid>
		<description>@esteve

&lt;i&gt;Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that’s the key IMHO.&lt;/i&gt;

Agreed - though I&#039;d say to think in the new paradigms, as I don&#039;t know that they&#039;re necessarily more abstract. In the case of OO, I&#039;d say that it&#039;s more natural and more concrete, not more abstract. But that&#039;s just a matter of words - I agree that that&#039;s key.

You don&#039;t look at problems the way I do. You quickly see approaches and solutions that I find very natural once you&#039;ve pointed them out to me. I&#039;m hoping to change that, but maybe you just are smarter :-)</description>
		<content:encoded><![CDATA[<p>@esteve</p>
<p><i>Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that’s the key IMHO.</i></p>
<p>Agreed &#8211; though I&#8217;d say to think in the new paradigms, as I don&#8217;t know that they&#8217;re necessarily more abstract. In the case of OO, I&#8217;d say that it&#8217;s more natural and more concrete, not more abstract. But that&#8217;s just a matter of words &#8211; I agree that that&#8217;s key.</p>
<p>You don&#8217;t look at problems the way I do. You quickly see approaches and solutions that I find very natural once you&#8217;ve pointed them out to me. I&#8217;m hoping to change that, but maybe you just are smarter :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1881</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Tue, 24 Jun 2008 23:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1881</guid>
		<description>@esteve

&lt;i&gt;Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that’s the key IMHO.&lt;/i&gt;

Agreed - though I&#039;d say to think in the new paradigms, as I don&#039;t know that they&#039;re necessarily more abstract. In the case of OO, I&#039;d say that it&#039;s more natural and more concrete, not more abstract. But that&#039;s just a matter of words - I agree that that&#039;s key.

You don&#039;t look at problems the way I do. You quickly see approaches and solutions that I find very natural once you&#039;ve pointed them out to me. I&#039;m hoping to change that, but maybe you just are smarter :-)</description>
		<content:encoded><![CDATA[<p>@esteve</p>
<p><i>Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that’s the key IMHO.</i></p>
<p>Agreed &#8211; though I&#8217;d say to think in the new paradigms, as I don&#8217;t know that they&#8217;re necessarily more abstract. In the case of OO, I&#8217;d say that it&#8217;s more natural and more concrete, not more abstract. But that&#8217;s just a matter of words &#8211; I agree that that&#8217;s key.</p>
<p>You don&#8217;t look at problems the way I do. You quickly see approaches and solutions that I find very natural once you&#8217;ve pointed them out to me. I&#8217;m hoping to change that, but maybe you just are smarter :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-604</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Tue, 24 Jun 2008 23:15:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-604</guid>
		<description>I would say the point was just to highlight the general trend of encapsulation, to assert that it&#039;s an inevitable aspect of &quot;progress&quot; (which is not the same as saying that we are always progressing, or progressing forwards, or progressing linearly), and to suggest that we (i.e., mainly me) embrace it instead of bemoaning the lack of fundamental knowledge in (mainly) the young.

I didn&#039;t think all this out in great depth, and some of you have raised good exceptions that I agree with. As I said to Tim Bray in Twitter, I could have easily argued the other side.  But I do believe history shows that that is ultimately the dinosaur&#039;s side of the debate.

BTW, I probably wouldn&#039;t have written the article at all if I hadn&#039;t found such a cool image on Flickr to go with it.

The VFS example is a good one. Maybe Twitter is a good example for discussion. They used very high-level encapsulation (RoR) and it took them a long way, a really long way - much further than 99% of startups get. And yes, they now have to re-engineer a lot of stuff (throw out some encapsulations, and adopt some others that are more reliable). But you might argue that if they hadn&#039;t built their first site in days they might not exist at all.

Amazon web services and Google&#039;s App Engine are another good example. Scaling is really hard. But certain aspects, including some pretty significant ones, are now encapsulated to the point where any programmer who can put together a few HTTP requests can build massive systems that scale (at least in some important ways). I see things like AWS as being huge steps forward. They may not get it all right immediately, but it&#039;s very early days yet for cloud computing.</description>
		<content:encoded><![CDATA[<p>I would say the point was just to highlight the general trend of encapsulation, to assert that it&#8217;s an inevitable aspect of &#8220;progress&#8221; (which is not the same as saying that we are always progressing, or progressing forwards, or progressing linearly), and to suggest that we (i.e., mainly me) embrace it instead of bemoaning the lack of fundamental knowledge in (mainly) the young.</p>
<p>I didn&#8217;t think all this out in great depth, and some of you have raised good exceptions that I agree with. As I said to Tim Bray in Twitter, I could have easily argued the other side.  But I do believe history shows that that is ultimately the dinosaur&#8217;s side of the debate.</p>
<p>BTW, I probably wouldn&#8217;t have written the article at all if I hadn&#8217;t found such a cool image on Flickr to go with it.</p>
<p>The VFS example is a good one. Maybe Twitter is a good example for discussion. They used very high-level encapsulation (RoR) and it took them a long way, a really long way &#8211; much further than 99% of startups get. And yes, they now have to re-engineer a lot of stuff (throw out some encapsulations, and adopt some others that are more reliable). But you might argue that if they hadn&#8217;t built their first site in days they might not exist at all.</p>
<p>Amazon web services and Google&#8217;s App Engine are another good example. Scaling is really hard. But certain aspects, including some pretty significant ones, are now encapsulated to the point where any programmer who can put together a few HTTP requests can build massive systems that scale (at least in some important ways). I see things like AWS as being huge steps forward. They may not get it all right immediately, but it&#8217;s very early days yet for cloud computing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1880</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Tue, 24 Jun 2008 23:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1880</guid>
		<description>I would say the point was just to highlight the general trend of encapsulation, to assert that it&#039;s an inevitable aspect of &quot;progress&quot; (which is not the same as saying that we are always progressing, or progressing forwards, or progressing linearly), and to suggest that we (i.e., mainly me) embrace it instead of bemoaning the lack of fundamental knowledge in (mainly) the young.

I didn&#039;t think all this out in great depth, and some of you have raised good exceptions that I agree with. As I said to Tim Bray in Twitter, I could have easily argued the other side.  But I do believe history shows that that is ultimately the dinosaur&#039;s side of the debate.

BTW, I probably wouldn&#039;t have written the article at all if I hadn&#039;t found such a cool image on Flickr to go with it.

The VFS example is a good one. Maybe Twitter is a good example for discussion. They used very high-level encapsulation (RoR) and it took them a long way, a really long way - much further than 99% of startups get. And yes, they now have to re-engineer a lot of stuff (throw out some encapsulations, and adopt some others that are more reliable). But you might argue that if they hadn&#039;t built their first site in days they might not exist at all.

Amazon web services and Google&#039;s App Engine are another good example. Scaling is really hard. But certain aspects, including some pretty significant ones, are now encapsulated to the point where any programmer who can put together a few HTTP requests can build massive systems that scale (at least in some important ways). I see things like AWS as being huge steps forward. They may not get it all right immediately, but it&#039;s very early days yet for cloud computing.</description>
		<content:encoded><![CDATA[<p>I would say the point was just to highlight the general trend of encapsulation, to assert that it&#8217;s an inevitable aspect of &#8220;progress&#8221; (which is not the same as saying that we are always progressing, or progressing forwards, or progressing linearly), and to suggest that we (i.e., mainly me) embrace it instead of bemoaning the lack of fundamental knowledge in (mainly) the young.</p>
<p>I didn&#8217;t think all this out in great depth, and some of you have raised good exceptions that I agree with. As I said to Tim Bray in Twitter, I could have easily argued the other side.  But I do believe history shows that that is ultimately the dinosaur&#8217;s side of the debate.</p>
<p>BTW, I probably wouldn&#8217;t have written the article at all if I hadn&#8217;t found such a cool image on Flickr to go with it.</p>
<p>The VFS example is a good one. Maybe Twitter is a good example for discussion. They used very high-level encapsulation (RoR) and it took them a long way, a really long way &#8211; much further than 99% of startups get. And yes, they now have to re-engineer a lot of stuff (throw out some encapsulations, and adopt some others that are more reliable). But you might argue that if they hadn&#8217;t built their first site in days they might not exist at all.</p>
<p>Amazon web services and Google&#8217;s App Engine are another good example. Scaling is really hard. But certain aspects, including some pretty significant ones, are now encapsulated to the point where any programmer who can put together a few HTTP requests can build massive systems that scale (at least in some important ways). I see things like AWS as being huge steps forward. They may not get it all right immediately, but it&#8217;s very early days yet for cloud computing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: esteve</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-603</link>
		<dc:creator>esteve</dc:creator>
		<pubDate>Tue, 24 Jun 2008 22:50:30 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-603</guid>
		<description>&lt;i&gt;At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?)&lt;/i&gt;

I think the point of the article is not that Esteve doesn&#039;t know about what&#039;s underneath, but that growing up with more powerful tools (OO, patterns, etc.) changes the way you see the world. Take for example the Linux VFS layer, it&#039;s a fine example of OO applied to a project that has to deal with lots of low level things, there&#039;s inheritance, polymorphism, etc. Someone who hasn&#039;t been exposed to OO might have implemented it differently, but since it&#039;s the product of a generation that grew up with objects, Al Viro (the guy who designed the current VFS layer) thought it was natural to design it that way.

Although our primary language at Fluidinfo is Python, we have had to deal with things in C and C++, so I don&#039;t think that a programmer who only knows high-level languages can be a good one.

Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that&#039;s the key IMHO.

It&#039;s funny to write about oneself in third person.</description>
		<content:encoded><![CDATA[<p><i>At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?)</i></p>
<p>I think the point of the article is not that Esteve doesn&#8217;t know about what&#8217;s underneath, but that growing up with more powerful tools (OO, patterns, etc.) changes the way you see the world. Take for example the Linux VFS layer, it&#8217;s a fine example of OO applied to a project that has to deal with lots of low level things, there&#8217;s inheritance, polymorphism, etc. Someone who hasn&#8217;t been exposed to OO might have implemented it differently, but since it&#8217;s the product of a generation that grew up with objects, Al Viro (the guy who designed the current VFS layer) thought it was natural to design it that way.</p>
<p>Although our primary language at Fluidinfo is Python, we have had to deal with things in C and C++, so I don&#8217;t think that a programmer who only knows high-level languages can be a good one.</p>
<p>Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that&#8217;s the key IMHO.</p>
<p>It&#8217;s funny to write about oneself in third person.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: esteve</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1879</link>
		<dc:creator>esteve</dc:creator>
		<pubDate>Tue, 24 Jun 2008 22:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1879</guid>
		<description>&lt;i&gt;At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?)&lt;/i&gt;

I think the point of the article is not that Esteve doesn&#039;t know about what&#039;s underneath, but that growing up with more powerful tools (OO, patterns, etc.) changes the way you see the world. Take for example the Linux VFS layer, it&#039;s a fine example of OO applied to a project that has to deal with lots of low level things, there&#039;s inheritance, polymorphism, etc. Someone who hasn&#039;t been exposed to OO might have implemented it differently, but since it&#039;s the product of a generation that grew up with objects, Al Viro (the guy who designed the current VFS layer) thought it was natural to design it that way.

Although our primary language at Fluidinfo is Python, we have had to deal with things in C and C++, so I don&#039;t think that a programmer who only knows high-level languages can be a good one.

Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that&#039;s the key IMHO.

It&#039;s funny to write about oneself in third person.</description>
		<content:encoded><![CDATA[<p><i>At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?)</i></p>
<p>I think the point of the article is not that Esteve doesn&#8217;t know about what&#8217;s underneath, but that growing up with more powerful tools (OO, patterns, etc.) changes the way you see the world. Take for example the Linux VFS layer, it&#8217;s a fine example of OO applied to a project that has to deal with lots of low level things, there&#8217;s inheritance, polymorphism, etc. Someone who hasn&#8217;t been exposed to OO might have implemented it differently, but since it&#8217;s the product of a generation that grew up with objects, Al Viro (the guy who designed the current VFS layer) thought it was natural to design it that way.</p>
<p>Although our primary language at Fluidinfo is Python, we have had to deal with things in C and C++, so I don&#8217;t think that a programmer who only knows high-level languages can be a good one.</p>
<p>Since kids have grown up using high level tools, it should be easier for them to think in abstract terms, that&#8217;s the key IMHO.</p>
<p>It&#8217;s funny to write about oneself in third person.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-602</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Tue, 24 Jun 2008 20:07:49 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-602</guid>
		<description>Hi Paul

I&#039;m not claiming that progress in encapsulation is always (or even often) linear. Neal gave an example above (in beer brewing) in which we&#039;ve gone back to re-examine how things were encapsulated. Also, I guess from your comments that I was thinking (or at least speaking) at a more general level than IDEs and programming languages etc. We do make mistakes, I agree. But the overall trend is towards more being encapsulated, towards &lt;em&gt;good&lt;/em&gt; encapsulations  gaining mindshare, etc. Very few people will ever need to write their own random number generator, or hashing code, or bitblt code - or you name it - there are hundreds of examples of that kind.

I also don&#039;t like IDEs :-)  Emacs is enough for me in that regard...</description>
		<content:encoded><![CDATA[<p>Hi Paul</p>
<p>I&#8217;m not claiming that progress in encapsulation is always (or even often) linear. Neal gave an example above (in beer brewing) in which we&#8217;ve gone back to re-examine how things were encapsulated. Also, I guess from your comments that I was thinking (or at least speaking) at a more general level than IDEs and programming languages etc. We do make mistakes, I agree. But the overall trend is towards more being encapsulated, towards <em>good</em> encapsulations  gaining mindshare, etc. Very few people will ever need to write their own random number generator, or hashing code, or bitblt code &#8211; or you name it &#8211; there are hundreds of examples of that kind.</p>
<p>I also don&#8217;t like IDEs :-)  Emacs is enough for me in that regard&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1878</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Tue, 24 Jun 2008 20:07:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1878</guid>
		<description>Hi Paul

I&#039;m not claiming that progress in encapsulation is always (or even often) linear. Neal gave an example above (in beer brewing) in which we&#039;ve gone back to re-examine how things were encapsulated. Also, I guess from your comments that I was thinking (or at least speaking) at a more general level than IDEs and programming languages etc. We do make mistakes, I agree. But the overall trend is towards more being encapsulated, towards &lt;em&gt;good&lt;/em&gt; encapsulations  gaining mindshare, etc. Very few people will ever need to write their own random number generator, or hashing code, or bitblt code - or you name it - there are hundreds of examples of that kind.

I also don&#039;t like IDEs :-)  Emacs is enough for me in that regard...</description>
		<content:encoded><![CDATA[<p>Hi Paul</p>
<p>I&#8217;m not claiming that progress in encapsulation is always (or even often) linear. Neal gave an example above (in beer brewing) in which we&#8217;ve gone back to re-examine how things were encapsulated. Also, I guess from your comments that I was thinking (or at least speaking) at a more general level than IDEs and programming languages etc. We do make mistakes, I agree. But the overall trend is towards more being encapsulated, towards <em>good</em> encapsulations  gaining mindshare, etc. Very few people will ever need to write their own random number generator, or hashing code, or bitblt code &#8211; or you name it &#8211; there are hundreds of examples of that kind.</p>
<p>I also don&#8217;t like IDEs :-)  Emacs is enough for me in that regard&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-600</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Tue, 24 Jun 2008 18:03:25 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-600</guid>
		<description>I think the problem is that you are predicating your views on an implicit assumption that the previous work is good enough, if not great. Thus we can move on. What if all of this modern stuff is just a train that&#039;s gone off its tracks? What if the reason you&#039;re not seeing the solution as being obvious, is because it&#039;s not actually obvious? 

We have, in a very real sense gone a long way down a specific technology path, heavily investing in a style of building tools. But are they just more complex because they are, or are they a huge mess? Horribly colored code in a flaky IDE, running on a platform that acts irrationally may look prettier than the old text-based screens, but honestly what is it doing now, that it wasn&#039;t twenty years ago? Sure, the data is massive, but the functionality?

As we stretch the limits of this current technology we are quickly getting to a level beyond which it is too unstable to manage. To get past that threshold we&#039;ll have to go back and refactor our foundations. At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?) 

Just a guess.

Paul.
http://theprogrammersparadox.blogspot.com</description>
		<content:encoded><![CDATA[<p>I think the problem is that you are predicating your views on an implicit assumption that the previous work is good enough, if not great. Thus we can move on. What if all of this modern stuff is just a train that&#8217;s gone off its tracks? What if the reason you&#8217;re not seeing the solution as being obvious, is because it&#8217;s not actually obvious? </p>
<p>We have, in a very real sense gone a long way down a specific technology path, heavily investing in a style of building tools. But are they just more complex because they are, or are they a huge mess? Horribly colored code in a flaky IDE, running on a platform that acts irrationally may look prettier than the old text-based screens, but honestly what is it doing now, that it wasn&#8217;t twenty years ago? Sure, the data is massive, but the functionality?</p>
<p>As we stretch the limits of this current technology we are quickly getting to a level beyond which it is too unstable to manage. To get past that threshold we&#8217;ll have to go back and refactor our foundations. At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?) </p>
<p>Just a guess.</p>
<p>Paul.<br />
<a href="http://theprogrammersparadox.blogspot.com" rel="nofollow">http://theprogrammersparadox.blogspot.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1877</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Tue, 24 Jun 2008 18:03:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1877</guid>
		<description>I think the problem is that you are predicating your views on an implicit assumption that the previous work is good enough, if not great. Thus we can move on. What if all of this modern stuff is just a train that&#039;s gone off its tracks? What if the reason you&#039;re not seeing the solution as being obvious, is because it&#039;s not actually obvious? 

We have, in a very real sense gone a long way down a specific technology path, heavily investing in a style of building tools. But are they just more complex because they are, or are they a huge mess? Horribly colored code in a flaky IDE, running on a platform that acts irrationally may look prettier than the old text-based screens, but honestly what is it doing now, that it wasn&#039;t twenty years ago? Sure, the data is massive, but the functionality?

As we stretch the limits of this current technology we are quickly getting to a level beyond which it is too unstable to manage. To get past that threshold we&#039;ll have to go back and refactor our foundations. At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?) 

Just a guess.

Paul.
http://theprogrammersparadox.blogspot.com</description>
		<content:encoded><![CDATA[<p>I think the problem is that you are predicating your views on an implicit assumption that the previous work is good enough, if not great. Thus we can move on. What if all of this modern stuff is just a train that&#8217;s gone off its tracks? What if the reason you&#8217;re not seeing the solution as being obvious, is because it&#8217;s not actually obvious? </p>
<p>We have, in a very real sense gone a long way down a specific technology path, heavily investing in a style of building tools. But are they just more complex because they are, or are they a huge mess? Horribly colored code in a flaky IDE, running on a platform that acts irrationally may look prettier than the old text-based screens, but honestly what is it doing now, that it wasn&#8217;t twenty years ago? Sure, the data is massive, but the functionality?</p>
<p>As we stretch the limits of this current technology we are quickly getting to a level beyond which it is too unstable to manage. To get past that threshold we&#8217;ll have to go back and refactor our foundations. At that point, either Esteve goes back and re-learns all that was known or he goes forward and just re-invents the whole same mess again (for the 4th time?) </p>
<p>Just a guess.</p>
<p>Paul.<br />
<a href="http://theprogrammersparadox.blogspot.com" rel="nofollow">http://theprogrammersparadox.blogspot.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-590</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Fri, 20 Jun 2008 22:36:37 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-590</guid>
		<description>Hi Duncan

I don&#039;t know where your blog is, I don&#039;t think. I&#039;m surprised you know where mine is!

I&#039;d like to read that article. We&#039;ve run into some really interesting things just thinking about how to convert one function (an iterator that periodically goes to the network). It&#039;s fun but also hard, as you say. I&#039;m goin gto post about it to the Twisted list soon. Or maybe I should just blog about it...

Are you going to EuroPytho?

Terry</description>
		<content:encoded><![CDATA[<p>Hi Duncan</p>
<p>I don&#8217;t know where your blog is, I don&#8217;t think. I&#8217;m surprised you know where mine is!</p>
<p>I&#8217;d like to read that article. We&#8217;ve run into some really interesting things just thinking about how to convert one function (an iterator that periodically goes to the network). It&#8217;s fun but also hard, as you say. I&#8217;m goin gto post about it to the Twisted list soon. Or maybe I should just blog about it&#8230;</p>
<p>Are you going to EuroPytho?</p>
<p>Terry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1876</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Fri, 20 Jun 2008 22:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1876</guid>
		<description>Hi Duncan

I don&#039;t know where your blog is, I don&#039;t think. I&#039;m surprised you know where mine is!

I&#039;d like to read that article. We&#039;ve run into some really interesting things just thinking about how to convert one function (an iterator that periodically goes to the network). It&#039;s fun but also hard, as you say. I&#039;m goin gto post about it to the Twisted list soon. Or maybe I should just blog about it...

Are you going to EuroPytho?

Terry</description>
		<content:encoded><![CDATA[<p>Hi Duncan</p>
<p>I don&#8217;t know where your blog is, I don&#8217;t think. I&#8217;m surprised you know where mine is!</p>
<p>I&#8217;d like to read that article. We&#8217;ve run into some really interesting things just thinking about how to convert one function (an iterator that periodically goes to the network). It&#8217;s fun but also hard, as you say. I&#8217;m goin gto post about it to the Twisted list soon. Or maybe I should just blog about it&#8230;</p>
<p>Are you going to EuroPytho?</p>
<p>Terry</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duncan McGreggor</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-589</link>
		<dc:creator>Duncan McGreggor</dc:creator>
		<pubDate>Fri, 20 Jun 2008 18:09:43 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-589</guid>
		<description>Just a quick note about converting synchronous code to Twisted: that&#039;s very tricky :-) I recently interviewed JP Calderone (of Twisted fame) about best practices when attempting to do this, and will post it to my blog soonish (I&#039;m hopng next week).</description>
		<content:encoded><![CDATA[<p>Just a quick note about converting synchronous code to Twisted: that&#8217;s very tricky :-) I recently interviewed JP Calderone (of Twisted fame) about best practices when attempting to do this, and will post it to my blog soonish (I&#8217;m hopng next week).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duncan McGreggor</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-1875</link>
		<dc:creator>Duncan McGreggor</dc:creator>
		<pubDate>Fri, 20 Jun 2008 18:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-1875</guid>
		<description>Just a quick note about converting synchronous code to Twisted: that&#039;s very tricky :-) I recently interviewed JP Calderone (of Twisted fame) about best practices when attempting to do this, and will post it to my blog soonish (I&#039;m hopng next week).</description>
		<content:encoded><![CDATA[<p>Just a quick note about converting synchronous code to Twisted: that&#8217;s very tricky :-) I recently interviewed JP Calderone (of Twisted fame) about best practices when attempting to do this, and will post it to my blog soonish (I&#8217;m hopng next week).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terry</title>
		<link>http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/comment-page-1/#comment-588</link>
		<dc:creator>terry</dc:creator>
		<pubDate>Fri, 20 Jun 2008 14:17:40 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/2008/06/18/embracing-encapsulation/#comment-588</guid>
		<description>@thiefhunter

There&#039;s value in encapsulating knowledge and making it available to others. You wrote &lt;a href=&quot;http://www.bobarno.com/book.htm&quot; rel=&quot;nofollow&quot;&gt;a book&lt;/a&gt; and you have &lt;a href=&quot;http://bobarno.com/thiefhunters&quot; rel=&quot;nofollow&quot;&gt;a blog&lt;/a&gt; where you bundled up decades of extremely hard won experience. It benefits you to do so, and it benefits the rest of us to learn from you the easy way. And so it goes...</description>
		<content:encoded><![CDATA[<p>@thiefhunter</p>
<p>There&#8217;s value in encapsulating knowledge and making it available to others. You wrote <a href="http://www.bobarno.com/book.htm" rel="nofollow">a book</a> and you have <a href="http://bobarno.com/thiefhunters" rel="nofollow">a blog</a> where you bundled up decades of extremely hard won experience. It benefits you to do so, and it benefits the rest of us to learn from you the easy way. And so it goes&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

