<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Talk Like A Duck: Tag alankay</title>
    <link>http://talklikeaduck.denhaven2.com/articles/tag/alankay</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>In Ruby, it's not the dog, it's the tricks!</description>
    <item>
      <title>Alan Kay, Super Hero</title>
      <description>&lt;p&gt;&lt;a href="http://www.boingboing.net/2008/11/20/illustrating-alan-ka.html"&gt;Via Boing-Boing&lt;/a&gt;, Business week has just put a comic strip on their web site, which tells the story of how &lt;a href="http://images.businessweek.com/ss/08/11/1106_portable_computers/index.htm"&gt;Alan Kay, inspired by a visit to Seymour Papert&lt;/a&gt; seeded the idea of portable computers.&lt;/p&gt;
&lt;p&gt;Long term readers of this blog no doubt know that I hold Alan Kay in high regard.  I got to meet him several times, first I think at an internal &lt;span class="caps"&gt;IBM&lt;/span&gt; conference on Object Oriented Programming in the mid 1980s, Another time was at a Digitalk developers conference, where I obtained a prize possession.  At the time I was the &lt;span class="caps"&gt;IBM&lt;/span&gt; technical liaison with Digitalk. They released a new version of Smalltalk/V PM at this particular conference, and I was presented a copy of the supplemental manual for the release signed by all of the Digitalk developers, and also by Alan Kay, who wrote something like &amp;#8220;to the most non-IBM like IBMer I&amp;#8217;ve ever met.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Reading the business week strip, I was reminded of an even earlier personal connection with Kay and Smalltalk.  A year or so before I really got into Objects, I was working on &lt;span class="caps"&gt;IBM&lt;/span&gt; Mainframe software in Poughkeepsie, NY.  One summer the project got an intern, named &lt;a href="http://en.wikipedia.org/wiki/Radia_Perlman"&gt;Radia Perlman&lt;/a&gt;, who was in graduate school at M.I.T. And is now known as the &amp;#8220;mother of the internet&amp;#8221; for her invention of &lt;a href="http://en.wikipedia.org/wiki/Spanning-tree_protocol"&gt;spanning-tree protocol&lt;/a&gt;. It was only later that I learned that she was one of Papert&amp;#8217;s students working on Logo and seeing how kids learned programming with Logo, and if I recall correctly she also visited Xerox &lt;span class="caps"&gt;PARC&lt;/span&gt;, and was involved in porting the concept of the &lt;a href="http://en.wikipedia.org/wiki/Turtle_graphics"&gt;Logo turtle model of graphics&lt;/a&gt; to Smalltalk, where it became the Pen object.&lt;/p&gt;
&lt;p&gt;What a long strange trip it is!&lt;/p&gt;</description>
      <pubDate>Fri, 21 Nov 2008 00:03:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:365fea76-22a7-469f-981c-470b84bb942c</guid>
      <author>Rick DeNatale</author>
      <link>http://talklikeaduck.denhaven2.com/articles/2008/11/21/alan-kay-super-hero</link>
      <category>war_stories</category>
      <category>smalltalk</category>
      <category>alankay</category>
      <trackback:ping>http://talklikeaduck.denhaven2.com/articles/trackback/516</trackback:ping>
    </item>
    <item>
      <title>Alan Kay on the meaning of OOP</title>
      <description>&lt;img src="http://talklikeaduck.denhaven2.com/files/2008-01-01_alan_kay.jpg" alt="Alan Kay" class="tease-image" width="128px"/&gt;
I've written before in this blog about how the meaning of the term "object-oriented programming" got hijacked from it's original meaning. For example I go into this in some length &lt;a href="http://talklikeaduck.denhaven2.com/articles/2006/07/29/about-me"&gt;in my mini-memoirs.&lt;/a&gt;
&lt;p&gt;I recently ran into an interesting site with links to &lt;a href="http://e7l3.org/classics.html"&gt;"Classical Computer Science Texts"&lt;/a&gt;, which in turn led me to this &lt;a href="http://www.purl.org/stefan_ram/pub/doc_kay_oop_en"&gt;e-mail exchange with Alan Kay on the meaning of OOP from July of 2003.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This exchange gives support, with details, for my description of Kay's concept of what Object-Oriented Programming was supposed to mean.&lt;/p&gt; &lt;blockquote class="pullquote"&gt;I'm not against types, but I don't know of any type systems that aren't a complete pain, so I still like dynamic typing. &lt;br/&gt;- Alan Kay&lt;/blockquote&gt; 
&lt;p&gt;As Kay explains, the key concepts came from biological cell communications modeled as networked "whole computers" and a desire to "get rid of with data"&lt;/p&gt;
&lt;p&gt;As for the influence of Simula on Smalltalk's notion of classes and inheritance:&lt;/p&gt;
&lt;blockquote&gt;I didn't like the way Simula I or Simula 67 did inheritance (though I thought Nygaard and Dahl were just tremendous thinkers and  designers). So I decided to leave out inheritance as a built-in feature until I understood it better. - Alan Kay&lt;/blockquote&gt;
&lt;p&gt;And summing it up:&lt;/p&gt;
&lt;blockquote&gt;OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.&lt;/blockquote&gt;
&lt;p&gt;I'd argue that you can do this in Ruby as well. I don't know if Ruby was on Kay's radar in mid-2003.&lt;/p&gt;

</description>
      <pubDate>Tue, 01 Jan 2008 14:39:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f7442bb9-2a85-4aa9-945b-25d69c9133fb</guid>
      <author>Rick DeNatale</author>
      <link>http://talklikeaduck.denhaven2.com/articles/2008/01/01/alan-kay-on-the-meaning-of-oop</link>
      <category>ruby</category>
      <category>smalltalk</category>
      <category>types</category>
      <category>alankay</category>
      <trackback:ping>http://talklikeaduck.denhaven2.com/articles/trackback/484</trackback:ping>
    </item>
  </channel>
</rss>
