<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Club Squeak</title>
	<link>http://squeak.funkencode.com</link>
	<description>Community and Code for Squeak Smalltalkers</description>
	<pubDate>Mon, 11 Feb 2008 04:00:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Darwin Among the Prototypes</title>
		<link>http://squeak.funkencode.com/2008/02/10/darwin-among-the-prototypes/</link>
		<comments>http://squeak.funkencode.com/2008/02/10/darwin-among-the-prototypes/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 04:00:19 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Prototypes]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2008/02/10/darwin-among-the-prototypes/</guid>
		<description><![CDATA[Morphtron, my current cross-language prototype-based programming framework was influenced by ideas I first encountered in Framework  the award winning product from Ashton-Tate written by Xerox PARC alum Robert Carr. Framework was and remains the most under-recognized Smalltalk Meme carrier.
Before they were called prototypes, instance-oriented approaches to organizing objects had become popular in AI during [...]]]></description>
			<content:encoded><![CDATA[<p>Morphtron, my current <a href="http://www.morphtron.com/?s=prototype">cross-language prototype-based programming framework</a> was influenced by ideas I first encountered in <a href="http://en.wikipedia.org/wiki/Framework_%28office_suite%29">Framework</a>  the <a href="http://www.pcmag.com/article2/0,1759,1167680,00.asp">award winning</a> product from Ashton-Tate written by Xerox PARC alum Robert Carr. Framework was and <a href="http://www.framework.com/fw/aboutfw.htm">remains</a> the most under-recognized <a href="http://croquet.funkencode.com/2007/04/07/evolution-in-cyberspace-the-smalltalk-meme/">Smalltalk Meme</a> carrier.</p>
<p>Before they were called prototypes, instance-oriented approaches to organizing objects had become popular in AI during the 1980&#8217;s under the label of  <a href="http://en.wikipedia.org/wiki/Knowledge_frame">frame-based knowledge representation</a>.  At the time my career was just beginning to evolve from building spacecraft mechanisms to designing automated testing systems for them so I my understanding of computer languages wasn&#8217;t very deep. Even so, in spite of the fact that the people I saw as &#8220;experts&#8221; were more focused on the differences, objects, frames and <a href="http://en.wikipedia.org/wiki/Entity-relationship_model#Connection">entities</a> all seemed more alike than different to me. Using Framework and dBASE, I combined them into something called the Knowldge Oriented Programming System(KOPS). Not long after KOPS was born Ashton-Tate began shooting itself in the foot so I began moving it to Smalltalk/V but had a great deal of trouble because the prototype ideas didn&#8217;t work well in a class based environment. When Digitalk introduced their visual programming tool PARTS which used unique instance methods I began to see that one could make Smalltalk more malleable. Around that same time, I read about Self, then <a href="http://www.amazon.com/gp/redirect.html%3FASIN=0387564691%26tag=funkencode-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0387564691%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" target="_blank">Object-Oriented Programming With Prototypes</a> and after that Squeak showed up with Etoys and Wonderland carrying the prototype meme. Today people are seeing <a href="http://coweb.cc.gatech.edu/cs2340/4288">prototypes as the future of object-oriented programming</a> and <a href="http://www.iam.unibe.ch/%7Escg/Research/Traits/index.html">Traits</a> have found their way into the Squeak mainstream. Thanks in large part to Javascript I&#8217;d been able to experiment extensively with organizing objects without classes</p>
<blockquote><p>All organizational functions carried out by classes can be accomplished in a simple and natural way by object inheritance in classless languages, with no need for special mechanisms. A single model—dividing types into prototypes and traits—supports sharing of behavior and extending or replacing representations. A natural extension, dynamic object inheritance, can model behavioral modes. Object inheritance can also be used to provide structured name spaces for well-known objects.<br />
Classless languages can even express “class-based” encapsulation. These stylized uses of object inheritance become instantly recognizable idioms, and extend the repertory of organizing principles to cover a wider range of programs.<br />
<a href="http://research.sun.com/self/papers/organizing-programs.html">Self: Organizing Programs Without Classes</a></p></blockquote>
<p>With Morphtron I had realized that one could achieve many of the same objectives without having support in the core language. This is because the memes are more fundamental than any particular implementation.</p>
<blockquote><p>In a chapter on <a href="http://en.wikipedia.org/wiki/Symbiogenesis">Symbiogenesis</a>, George Dyson chronicles the evolutionary history of cyberspace going from order codes to subroutines and languages executing in operating systems and across networks:</p>
<blockquote><p>The introduction of distributed object-oriented programming languages &#8230; is enabling numerical symbioorganisms to roam, reproduce, and execute freely across the computational universe as a whole. &#8230; Nils Barricelli, in 1985, drew a parallel between higher level object-oriented languages and the metalanguages used in cellular communication, but he put the analogy another way: &#8220;if humans, instead of transmitting to each other reprints and complicated explanations, developed the habit of transmitting computer programs allowing a computer-directed factory to construct the machine needed for a particular purpose, that would be the closest analogue to the communication methods among cells of various species&#8221;</p></blockquote>
<blockquote><p>&#8220;&#8230; In the game of life and evolution there are three players at the table: human beings, nature, and machines. I am firmly on the side of nature. But nature, I suspect, is on the side of the machines. &#8230;&#8221;</p>
<p><a href="http://www.amazon.com/gp/redirect.html%3FASIN=0738200301%26tag=funkencode-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0738200301%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" target="_blank">Darwin Among the Machines: The Evolution of Global Intelligence</a></p></blockquote>
</blockquote>
<blockquote><p> <a href="http://t-a-w.blogspot.com/2006/10/prototype-based-ruby.html"></a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2008/02/10/darwin-among-the-prototypes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lessons From The Lively Kernel</title>
		<link>http://squeak.funkencode.com/2008/02/08/lessons-from-the-lively-kernel/</link>
		<comments>http://squeak.funkencode.com/2008/02/08/lessons-from-the-lively-kernel/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 07:27:01 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2008/02/08/lessons-from-the-lively-kernel/</guid>
		<description><![CDATA[Dan Ingalls did a Google Tech Talk last month which may be of interest to many of the current Squeak-dev list discussions(Morphic 3, JVM etc.) as well as Croquet or anyone interested in the web as distributed object space.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://javascript.funkencode.com/2008/02/08/lively-kernel-google-tech-talks/">Dan Ingalls did a Google Tech Talk last month</a> which may be of interest to many of the current Squeak-dev list discussions(Morphic 3, JVM etc.) as well as Croquet or anyone interested in <a href="http://www.morphtron.com/2006/07/27/navigating-distributed-object-spaces/">the web as distributed object space</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2008/02/08/lessons-from-the-lively-kernel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Smalltalk Reloaded: Missing Bits &#038; The Achilles Heel</title>
		<link>http://squeak.funkencode.com/2008/01/29/smalltalk-reloaded-missing-bits-the-achilles-heel/</link>
		<comments>http://squeak.funkencode.com/2008/01/29/smalltalk-reloaded-missing-bits-the-achilles-heel/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 04:53:31 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Community]]></category>

		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2008/01/29/smalltalk-reloaded-missing-bits-the-achilles-heel/</guid>
		<description><![CDATA[I just updated the entry marketing isn&#8217;t the problem to include a mention of PPD VisualWave and noted the licensing problem. At a time when developers were able to freely download the JDK &#38; JVM, Smalltalk&#8217;s leading low-cost player had been, in effect frozen in place by the merger.
So was it Java&#8217;s fault what happened [...]]]></description>
			<content:encoded><![CDATA[<p>I just updated the entry <a href="http://squeak.funkencode.com/2007/10/13/smalltalk-reloaded-marketing-isnt-the-problem/">marketing isn&#8217;t the problem</a> to include a mention of PPD <a href="http://www.thefreelibrary.com/ParcPlace-Digitalk+introduces+VisualWave%3B+first+object-oriented...-a017769248">VisualWave</a> and noted the licensing problem. At a time when developers were able to freely download the JDK &amp; JVM, Smalltalk&#8217;s leading low-cost player had been, in effect frozen in place by the merger.</p>
<blockquote><p>So was it Java&#8217;s fault what happened to Smalltalk?  Nope.  Sure Java had the market&#8217;s attention.  But that internet bubble was really big, man.  There was room for Smalltalk on there too and we had real-world-deployed experienced programmers to help.  I think it wasn&#8217;t all about Java and the great timing, luck and marketing.  It was also the anti-marketing it felt like the Smalltalk leaders did.  That&#8217;s right.  We did anti-marketing.</p>
<p>As I see it,<strong> the first major error happened before anyone ever really heard of Java</strong>.  ParcPlace System merged with Digitalk. &#8230; In this man&#8217;s opinion, Java didn&#8217;t kill Smalltalk.  <strong>If anyone did, we did it to ourselves.  Java just applied the heat while we were churning</strong>.</p>
<p><a href="http://squeak.preeminent.org/blog/C597890805/E20060416091511/index.html">We&#8217;re Niche Players</a></p></blockquote>
<p>There are also relevant bits to mix in related to IBM&#8217;s role but irrespective of the corporate landscape, Smalltalk has and continues to be hampered by it&#8217;s Achilles heel - networking. Without rock solid, high performance sockets and broad support for popular protocols, you just can&#8217;t be an impact player in a universe held together by TCP/IP. Digitalk IIRC didn&#8217;t ship with any TCP/IP support and VisualWorks performance was not compelling.</p>
<blockquote><p>Commercial web servers offer additioan features that would be3 very time-consuming to re-create under Smalltalk. &#8230; If the Smalltalk environment does not provide lightweight, preemptive threads to manage incoming connections, performance will be minimal.</p>
<p align="left"> Jonathan Pletzke -  <a href="http://www.amazon.com/gp/redirect.html%3FASIN=0471163503%26tag=funkencode-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0471163503%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" target="_blank">Advanced Smalltalk</a> 1997</p>
</blockquote>
<p>In 1992, before Java, David Simmons embarked on <a href="http://www.mactech.com/articles/mactech/Vol.10/10.04/SmalltalkAgents/index.html">SmalltalkAgents</a> and almost got it right but what happened there is WAY beyond the scope of this post.  Squeak in 1996 took steps in the right direction, but was not focused on delivering the kind of commercial grade networking capabilities Java provided out of the box. Today&#8217;s VisualWorks, DabbleDB and Qwaq have proven that within a narrow niche and with enough resources, Smalltalk can deliver powerful networking solutions. However, for the typical developer, this is not the case. Too many easy things are hard and hard things are for all practical purposes impossible. Case in point - XMPP aka Jabber which has <a href="http://www.meshverse.com/2008/01/23/server-commoditization-the-coming-boom/">exploded into widespread use</a>. Yes there are 2 Smalltalk Jabber clients available but they are sorely lacking. Secure authentication isn&#8217;t built-in and rolling your own with the Cryptography package is not trivial. In contrast, in the world of Ruby, the robust XMPP4R and the drop-dead easy <a href="http://romeda.org/blog/2006/11/announcing-jabbersimple.html">Jabber::Simple</a> built upon it have emerged as defacto standards from a pool of a half dozen or so implementations. However these problems are not due to some inherent flaw in Smalltalk but rather another facet of its Achilles Heel.</p>
<p>What continues to drive the expansion of the web is the convergence of TCP/IP and social networks. The human network of Smalltalkers is too small and lacks the diversity needed to exert a broad influence outside of itself. Don&#8217;t get me wrong, the Smalltalk community is full of wonderful people who are passionate about Smalltalk. However, it&#8217;s made up of isolated islands of folk with hardcore developers and researchers on one side, captive users on the other and a very transient collection of power users, scripters and intermediate programmers flowing in between. These groups <a href="http://www.cxo.terrybarbounis.com/?p=21">don&#8217;t really party together</a>, and the result is that innovation rarely gains traction. Just within the world of Squeak there are 7 incompatible major builds - Squeakland, Croquet, Plopp, Seaside, DabbleDB, Scratch and Squeak. Continuing with my XMPP example, if you google Squeak Jabber you have to hunt to find the actual code let alone find any examples of using it. Now some Squeakers might object -  SqueakSource is the preferred place to look. This is true, but it doesn&#8217;t address the issues of completeness or examples. To be clear, this is NOT a criticism of the people freely sharing code, it&#8217;s saying there are not enough people in the community, particularly developers with paying users of any kind(end-user, developer).  So continuing with the saga, if it&#8217;s 3:00 am and you&#8217;re having a problem, there&#8217;s nowhere to turn except the Squeak-dev list. If you ask a question there, maybe someone will respond quickly and if they do they&#8217;ll probably be friendly. There&#8217;s also a good chance they&#8217;ll be knowledgeable about Squeak in general. There&#8217;s less of a chance they are familar with the Jabber code or have used it very much. In the end that probably doesn&#8217;t matter because the problem will ultimately end up being socket and/or vm related - outside the bounds of most highly experienced Smalltalkers. One simply can&#8217;t tackle these problems effectively without significant experience in C.  It&#8217;s not that the problems are intractable, it&#8217;s that the Squeak economy isn&#8217;t robust enough to support the level of expertise required to have rock-solid networking widely available.</p>
<p>Originally the purpose of  Smalltalk was <a href="http://users.ipa.net/%7Edwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html">&#8220;to provide computer support for the creative spirit in everyone. &#8220;</a> Today,<a href="http://www.squeak.org/About"> the Squeak site</a> describes Squeak as</p>
<blockquote><p>&#8220;In short, a personal computing environment that could be programmed by &#8220;the rest of us.&#8221;</p></blockquote>
<p>For as long as I have been involved with it(27 years), there have always been elements of the Smalltalk human network who looking at things through a zero-sum lens, have preferred and lobbied to pursue &#8220;purity&#8221; at the expense of reaching out to and developing solutions for &#8220;everyone&#8221;. During Smalltalk&#8217;s short-lived <a href="http://squeak.funkencode.com/2007/11/10/smalltalk-reloaded-bits-of-history-from-the-golden-age/">Golden Age</a>, Digitalk provided a win-win choice for &#8220;everyone&#8221; while people able and willing to pay the price of purity were well served by Parc Place. When the human network broke down it hurt Smalltalk&#8217;s entrance into and codebase for the web era. The good news is that today, there&#8217;s an opportunity to jump-start another Golden Age - stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2008/01/29/smalltalk-reloaded-missing-bits-the-achilles-heel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Smalltalk Reloaded: Bits of History From The Golden Age</title>
		<link>http://squeak.funkencode.com/2007/11/10/smalltalk-reloaded-bits-of-history-from-the-golden-age/</link>
		<comments>http://squeak.funkencode.com/2007/11/10/smalltalk-reloaded-bits-of-history-from-the-golden-age/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 16:47:24 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2007/11/10/smalltalk-reloaded-bits-of-history-from-the-golden-age/</guid>
		<description><![CDATA[A discussion on the Squeak list reminded me of the saying &#8220;those who don&#8217;t learn from history are doomed to repeat it&#8221; and thus prompted me to squeeze out another bit of this saga &#8230;
Back in 1992, before Mosaic, before Java(formerly known as Oak) was demoed to Sun management as a language for networked consumer [...]]]></description>
			<content:encoded><![CDATA[<p>A discussion on the Squeak list reminded me of the saying &#8220;those who don&#8217;t learn from history are doomed to repeat it&#8221; and thus prompted me to squeeze out another bit of <a href="http://squeak.funkencode.com/2007/10/13/smalltalk-reloaded-marketing-isnt-the-problem/">this saga</a> &#8230;</p>
<p>Back in 1992, before Mosaic, <a href="http://ei.cs.vt.edu/~wwwbtb/book/chap1/java_hist.html#1.4.1">before Java(formerly known as Oak) was demoed to Sun management as a language for networked consumer devices</a>,  David Taylor examined the state of object-oriented programming in a book entitled</p>
<blockquote><p><a href="http://www.amazon.com/gp/redirect.html%3FASIN=0471543640%26tag=funkencode-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0471543640%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" target="_blank">Object-Oriented Information Systems: Planning and Implementation</a></p></blockquote>
<p>This book is available used for under a dollar and provides considerable evidence for my view that the vacuum created by the collective choices of the Smalltalk community opened the primary avenue for the widespread adoption of Java. Taylor conducted an informal survey that listed case studies of actual projects and concluded:</p>
<ul>
<li>There is no way to tell how many of the C++ buyers are simply upgrading to new C features as opposed to using the language for object-oriented programming</li>
<li>The early adopters of object technology have been primarily in the scientific and engineering markets where C is already an established standard.</li>
<li>C has virtually no presence in corporate MIS departments</li>
<li>Although there is some question about how gracefully COBOL can be extended  into the object arena, Object COBOL already enjoys a large and highly receptive market in Fortune 500 companies, who are keenly interested in protecting their vast investment in COBOL programs and programmers.</li>
<li>&#8230; found far more Fortune 500 companies working with Smalltalk that C++ for office applications</li>
</ul>
<p>these findings jibe well with my own personal experiences as a project leader, contract programmer, consultant and mentor on major Smalltalk projects as well as those as an engineer and database administrator.</p>
<p>In the early 90&#8217;s, the corporate landscape was littered with the rotting corpses of failed C++ projects aimed at what we now call enterprise applications. Smalltalk had replaced C++ as the language of choice for new projects and as a more effective means of transitioning COBOL applications and programmers. Early in it&#8217;s growth, Java wasn&#8217;t replacing Smalltalk but rather filling a vacuum created by the Smalltalk community. Moreover, it was only able to fill this vacuum riding the Smalltalk-based VisualAge IDE that Eclipse was born from. <a href="http://croquet.funkencode.com/2006/05/11/online-spaces-the-new-frontier-cnet-newscom/">This is happening with Croquet</a> and will continue to happen with Smalltalk-based innovations until and unless the community learns the lessons of its own history. I am optimistic that it will though it will likely be painful for most.</p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/11/10/smalltalk-reloaded-bits-of-history-from-the-golden-age/feed/</wfw:commentRss>
		</item>
		<item>
		<title>For Serious Software Developers Only</title>
		<link>http://squeak.funkencode.com/2007/10/17/for-serious-software-developers-only/</link>
		<comments>http://squeak.funkencode.com/2007/10/17/for-serious-software-developers-only/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 08:41:17 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Programmers]]></category>

		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2007/10/17/for-serious-software-developers-only/</guid>
		<description><![CDATA[ People who are really serious about software should make their own hardware.
Alan Kay @ Creative Think Seminar 1982
Related Links:
Water and Ice
Intel The Software Company
Cisco The Software Company
]]></description>
			<content:encoded><![CDATA[<blockquote> People who are really serious about software should make their own hardware.<br />
<a href="http://folklore.org/StoryView.py?project=Macintosh&amp;story=Creative_Think.txt">Alan Kay @ Creative Think Seminar 1982</a></p></blockquote>
<p><strong>Related Links:</strong><br />
<a href="http://www.rhythmeering.com/2007/06/18/water-and-ice/">Water and Ice</a></p>
<p><a href="http://www.meshverse.com/2007/10/09/review-%E2%80%9Cthe-rise-of-the-3d-internet%E2%80%9D-part-3/">Intel The Software Company</a></p>
<p><a href="http://www.rhythmeering.com/2007/08/18/cisco-the-software-company/">Cisco The Software Company</a></p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/10/17/for-serious-software-developers-only/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Use The Object Explorer Luke*</title>
		<link>http://squeak.funkencode.com/2007/10/17/use-the-object-explorer-luke/</link>
		<comments>http://squeak.funkencode.com/2007/10/17/use-the-object-explorer-luke/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 08:40:42 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<category><![CDATA[Programmers]]></category>

		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2007/10/17/use-the-object-explorer-luke/</guid>
		<description><![CDATA[In any Squeak  environment, the Object Explorer can help you learn how things work. The following link has a step-by-step, illustrated example:
Often in Squeak, whenever there’s interaction with the UI, the most direct path to understanding starts with the morph you are clicking. You can cmd-click(Mac) or right-click (Windows) on any morph to bring up [...]]]></description>
			<content:encoded><![CDATA[<p>In any Squeak  environment, the Object Explorer can help you learn how things work. The following link has a step-by-step, illustrated example:</p>
<blockquote><p>Often in Squeak, whenever there’s interaction with the UI, the most direct path to understanding starts with the morph you are clicking. You can cmd-click(Mac) or right-click (Windows) on any morph to bring up a set of icons called a halo.</p></blockquote>
<blockquote><p><a href="http://croquet.funkencode.com/2007/10/11/getting-started-with-croquet/">Getting Started With Croquet </a></p></blockquote>
<p><strong>* </strong>For folk not familiar with Star Wars, see <a href="http://en.wikipedia.org/wiki/Force_(Star_Wars)">the Force </a></p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/10/17/use-the-object-explorer-luke/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Smalltalk Reloaded: Marketing Isn&#8217;t The Problem</title>
		<link>http://squeak.funkencode.com/2007/10/13/smalltalk-reloaded-marketing-isnt-the-problem/</link>
		<comments>http://squeak.funkencode.com/2007/10/13/smalltalk-reloaded-marketing-isnt-the-problem/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 13:07:04 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2007/10/13/smalltalk-reloaded-marketing-isnt-the-problem/</guid>
		<description><![CDATA[Ramon Leon makes some good points about the &#8220;out of the box&#8221; Squeak UI and I agree that marketing is important. However, like most folk relatively new to Smalltalk/Squeak and strangely many who&#8217;ve been around a long time, he&#8217;s been misinformed about why Smalltalk isn&#8217;t more widely used. Smalltalk was not beaten by either Java [...]]]></description>
			<content:encoded><![CDATA[<p>Ramon Leon makes some <a href="http://onsmalltalk.com/programming/smalltalk/a-squeak-smalltalk-development-example/">good points about the &#8220;out of the box&#8221; Squeak UI</a> and I agree that marketing is important. However, like most folk relatively new to Smalltalk/Squeak and strangely many who&#8217;ve been around a long time, he&#8217;s been misinformed about why Smalltalk isn&#8217;t more widely used. Smalltalk was not beaten by either Java or Ruby, but rather failed to address the needs these languages did in a timely manner. It may be a while before I find time to finish up the long, detailed essay on this topic that&#8217;s been sitting dormant so for now let me put it in a nutshell.</p>
<p>It is a matter of record that <a href="http://en.wikipedia.org/wiki/Java_%28Sun%29#History">Java was not originally designed to compete with Smalltalk as a generic application development tool, but rather C/C++</a> for set top devices. Before Java&#8217;s public release, the <a href="http://findarticles.com/p/articles/mi_m0SMG/is_n2_v15/ai_16715770">momentum in the corporate world had clearly shifted to Smalltalk</a> over C++.  Java wasn&#8217;t publicly released until 1995 and early in the year <a href="http://findarticles.com/p/articles/mi_m0SMG/is_n2_v15/ai_16715770">didn&#8217;t even enter into the language discussion.</a> Nor was Java mentioned when <a href="http://findarticles.com/p/articles/mi_m0SMG/is_n7_v15/ai_17385482">Digitalk and ParcPlace merged later that year</a>. In fact, at the end of 1995, IBM which had only recently licensed Java was still <a href="http://findarticles.com/p/articles/mi_qa3649/is_199512/ai_n8715994">touting VisualAge over Java for the web</a>! At the time the <a href="http://en.wikipedia.org/wiki/Java_EE_version_history#JPE_.28May_1998.29">Java Enterprise Edition Platform spec </a>was announced in 1998, none of the incompatible Smalltalk offerings from a stagnant ParcPlace-Digitalk, an indifferent IBM, a research-oriented Squeak, or single platform Object-Arts was really focused on delivering internet aware solutions. Java and Ruby merely stepped in and filled a vacuum.</p>
<p><strong>Update:</strong>  <em>It is true that ParcPlace-Digitalk&#8217;s <a href="http://www.thefreelibrary.com/ParcPlace-Digitalk+introduces+VisualWave%3B+first+object-oriented...-a017769248">VisualWave</a> was a powerful offering in some respects. However, it was an expensive and all-encompassing approach with no free stepping stones or incremental building blocks. In contrast, Java developers could download the JDK, explore and learn.</em></p>
<p>When you look at the 35 languages that rank above Smalltalk on <a href="http://www.tiobe.com/index.htm?tiobe_index">the TIOBE Index</a>(also relevant is <a href="http://radar.oreilly.com/archives/2006/08/programming_language_trends_1.html">O&#8217;Reilly&#8217;s Programming Language Trends</a> ),  marketing doesn&#8217;t really seem to be a primary differentiator. If one is seeking to expand the use of Smalltalk, I think it&#8217;s necessary to broaden the context ultimately to include <a href="http://www.rhythmeering.com/2007/10/08/dematerializing-the-computer/">the evolution of hardware</a> and also give more weight to it&#8217;s <a href="http://croquet.funkencode.com/2007/04/07/evolution-in-cyberspace-the-smalltalk-meme/">ancestral meme</a>. Many of the languages ranked ahead of  Smalltalk owe a great deal of their success to ideas made popular by Smalltalk. Things that can be done to achieve more widespread use of Smalltalk will be the topic of my next &#8220;Smalltalk Reloaded&#8221; entry but I&#8217;ll say in closing that embracing <a href="http://research.sun.com/projects/lively/">Sun Labs Lively Kernel</a> is one of them.</p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/10/13/smalltalk-reloaded-marketing-isnt-the-problem/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Development Tutorial: Squeak Board Games</title>
		<link>http://squeak.funkencode.com/2007/10/13/development-tutorial-squeak-board-games/</link>
		<comments>http://squeak.funkencode.com/2007/10/13/development-tutorial-squeak-board-games/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 08:57:35 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Example]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2007/10/13/development-tutorial-squeak-board-games/</guid>
		<description><![CDATA[Steve Wessels has a very thorough, step-by-step example of how to develop Squeak applications.
]]></description>
			<content:encoded><![CDATA[<p>Steve Wessels has a very thorough, step-by-step example of <a href="http://squeak.preeminent.org/tut2007/html/index.html">how to develop Squeak applications</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/10/13/development-tutorial-squeak-board-games/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Not Really Optional</title>
		<link>http://squeak.funkencode.com/2007/10/13/not-really-optional/</link>
		<comments>http://squeak.funkencode.com/2007/10/13/not-really-optional/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 08:32:37 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/2007/10/13/not-really-optional/</guid>
		<description><![CDATA[ The Squeak browser has what are called &#8220;optional buttons&#8221; which I find indispensable.


Each of these buttons saves you at least one click and most cases several. The &#8220;inheritance&#8221; button has color codings which provide information that&#8217;s very time consuming to get at. In my experiences, one almost always needs a few of these capabilities [...]]]></description>
			<content:encoded><![CDATA[<p> The Squeak browser has what are called &#8220;optional buttons&#8221; which I find indispensable.</p>
<p><a href="http://squeak.funkencode.com/wp-content/uploads/2007/10/optionalbuttons.png" title="optionalbuttons.png"></a></p>
<p style="text-align: center"><a href="http://squeak.funkencode.com/wp-content/uploads/2007/10/optionalbuttons.png" title="optionalbuttons.png"><img src="http://squeak.funkencode.com/wp-content/uploads/2007/10/optionalbuttons.png" alt="optionalbuttons.png" height="280" width="485" /></a></p>
<p>Each of these buttons saves you at least one click and most cases several. The &#8220;inheritance&#8221; button has color codings which provide information that&#8217;s very time consuming to get at. In my experiences, one almost always needs a few of these capabilities during a programming session. They do take up screen real estate but for many it&#8217;s a worthwhile trade-off.</p>
<p>In order to show these buttons you need to select &#8220;optional buttons&#8221; in the browsing section of preferences. If you don&#8217;t already know how to do this read the rest of this entry. <a href="http://squeak.funkencode.com/2007/10/13/not-really-optional/#more-10" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/10/13/not-really-optional/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Squeak Foundation Elections Coming Up</title>
		<link>http://squeak.funkencode.com/2007/02/26/squeak-foundation-elections-coming-up/</link>
		<comments>http://squeak.funkencode.com/2007/02/26/squeak-foundation-elections-coming-up/#comments</comments>
		<pubDate>Mon, 26 Feb 2007 06:08:30 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://squeak.funkencode.com/?p=7</guid>
		<description><![CDATA[There&#8217;s hope that this election will be a catalyst for a better Squeak community.
]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s hope that this election will be a catalyst for a better Squeak community.</p>
]]></content:encoded>
			<wfw:commentRss>http://squeak.funkencode.com/2007/02/26/squeak-foundation-elections-coming-up/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
