<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alexey Zakhlestins blog &#187; gui</title>
	<atom:link href="http://blog.milkfarmsoft.com/category/computers/gui/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.milkfarmsoft.com</link>
	<description>Programming for Mac and Web</description>
	<lastBuildDate>Sun, 13 Jun 2010 15:42:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>BeOS + SmallTalk</title>
		<link>http://blog.milkfarmsoft.com/2007/06/beos-smalltalk/</link>
		<comments>http://blog.milkfarmsoft.com/2007/06/beos-smalltalk/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 19:34:55 +0000</pubDate>
		<dc:creator>indeyets</dc:creator>
				<category><![CDATA[D language]]></category>
		<category><![CDATA[beos]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[haikuos]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[smalltalk]]></category>

		<guid isPermaLink="false">http://blog.milkfarmsoft.com/?p=50</guid>
		<description><![CDATA[<p>Some internal feeling makes me believe, that Smalltalk would be an ideal language for Haiku-OS/OpenBeOS (which looks more and more alive, again).</p>
<p>BeOS was always about C++, opposing UNIX&#8217;es, MacOS&#8217;es and Windows&#8217;es choice of C (well, formally, windows had C++ api, but, still, it was very C-ish in it&#8217;s essence). Years passed, MacOS switched to Objective-C, Windows <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.milkfarmsoft.com/2007/06/beos-smalltalk/">BeOS + SmallTalk</a></span>]]></description>
			<content:encoded><![CDATA[<p>Some internal feeling makes me believe, that Smalltalk would be an ideal language for <a href="http://haiku-os.org/">Haiku-OS</a>/OpenBeOS (which <a href="http://www.haikunews.org/">looks more and more alive</a>, again).</p>
<p><a href="http://en.wikipedia.org/wiki/BeOS">BeOS</a> was always about <a href="http://en.wikipedia.org/wiki/C%2B%2B">C++</a>, opposing UNIX&#8217;es, MacOS&#8217;es and Windows&#8217;es choice of C (well, formally, windows had C++ api, but, still, it was very C-ish in it&#8217;s essence). Years passed, MacOS <a href="http://en.wikipedia.org/wiki/Mac_OS_X#History">switched</a> to <a href="http://en.wikipedia.org/wiki/Objective-C">Objective-C</a>, Windows switched to <a href="http://en.wikipedia.org/wiki/C_Sharp">C#</a>. Both of these languages are higher-level OOP languages which have some kind of memory-management. C++, while it has some advantages, still is not as easy and dynamic as these languages are.</p>
<p>Unfortunately, both Objective-C and C# are developed by Apple and Microsoft (correspondingly) behind the closed-doors.</p>
<p>So, what is the alternative? I see two of them:</p>
<ul>
<li><a href="http://www.prowiki.org/wiki4d/wiki.cgi?WhatIsD">D</a></li>
<li><a href="http://www.smalltalk.org/smalltalk/whatissmalltalk.html">Smalltalk</a></li>
</ul>
<p>D is good, as it makes a step from C++ to real life, but is still low-levelish, by design. memory management will solve some headaches, but programming in it won&#8217;t be as fun as it can be. I like to see D as a language for writing libraries.</p>
<p>Smalltalk, on the other hand, is a high-level <a href="http://en.wikipedia.org/wiki/Type_system">dynamic</a> language which is just what is needed. Once you &#8220;taste&#8221; the fruit of dynamic languages you wouldn&#8217;t want to code high-level tasks in static-languages anymore (static is extremely good in low-level, though). To give you a brief idea on what all this is about, there is a nice article by a game developer who switched from C++ to Smalltalk: <a href="http://www.smalltalk.org/articles/article_20060919_a1_LearningToTalk_v1.html">Learning to Talk: Introduction to Talking</a>.</p>
<p>Further reading:</p>
<ul>
<li><a href="http://web.archive.org/web/20020612180858/http://www.dekorte.com/Objective-C/Documentation/2_Comparisons/Comparisons.html">Comparison of Objective-C and Smalltalk</a></li>
<li><a href="http://www.smalltalk.org/versions">Smalltalk implementations</a></li>
<li><a href="http://www.ambrai.com/smalltalk/">Ambrai Smalltalk</a> (Smalltalk for MacOS-X)</li>
<li><a href="http://www.fscript.org/">F-Script</a> (Smalltalk-based scripting environment for Cocoa)</li>
<li><a href="http://en.wikipedia.org/wiki/Comparison_of_programming_languages">Comparison of programming languages</a> @ wikipedia</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.milkfarmsoft.com/2007/06/beos-smalltalk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
