<?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: Code Reads: Next up &#8212; Guy Steele</title>
	<atom:link href="http://www.wordyard.com/2007/05/24/next-up-steele/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wordyard.com/2007/05/24/next-up-steele/</link>
	<description>Technology, politics, culture</description>
	<pubDate>Fri, 21 Nov 2008 21:48:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: r. clayton</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-700</link>
		<dc:creator>r. clayton</dc:creator>
		<pubDate>Thu, 28 Jun 2007 02:24:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-700</guid>
		<description>&lt;blockquote&gt;I wonder what a language would look like if if/for/while/etc could be defined as functions taking (in the case of if) a boolean and a block/closure. Would that help to grow a language at all?&lt;/blockquote&gt;It could look like a lot of things, but one thing it might look like is &lt;a href="http://www.smalltalk.org/articles/article_20040518_a1.html" rel="nofollow"&gt;Smalltalk&lt;/a&gt;. And, if it looked like Smalltalk, it would help &lt;a href="http://portal.acm.org/citation.cfm?id=802792&#38;dl=ACM&#38;coll=GUIDE" rel="nofollow"&gt;grow the language&lt;/a&gt; (as long as you weren't syntactically fixated),  but control-as-function would be a small part of what helps the language grow.</description>
		<content:encoded><![CDATA[<blockquote><p>I wonder what a language would look like if if/for/while/etc could be defined as functions taking (in the case of if) a boolean and a block/closure. Would that help to grow a language at all?</p></blockquote>
<p>It could look like a lot of things, but one thing it might look like is <a href="http://www.smalltalk.org/articles/article_20040518_a1.html" rel="nofollow">Smalltalk</a>. And, if it looked like Smalltalk, it would help <a href="http://portal.acm.org/citation.cfm?id=802792&amp;dl=ACM&amp;coll=GUIDE" rel="nofollow">grow the language</a> (as long as you weren&#8217;t syntactically fixated),  but control-as-function would be a small part of what helps the language grow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Boris</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-696</link>
		<dc:creator>Boris</dc:creator>
		<pubDate>Wed, 13 Jun 2007 08:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-696</guid>
		<description>I surely believe that extensibility and scalability isn't the property of good written architectural design or program only, but also the language itself. It seams like every possible computer related artifact must be "extensible and scalable". It is the mandatory characteristic of good design. Language, hardware, programs - everything.

It was pointed out by Alan Kay in his OOPSLA speach (http://video.google.com/videoplay?docid=-2950949730059754521), that when you design things you "must play grand". When you design language you play it "grand" also . Which certainly means easy extensibility of the language in the future.</description>
		<content:encoded><![CDATA[<p>I surely believe that extensibility and scalability isn&#8217;t the property of good written architectural design or program only, but also the language itself. It seams like every possible computer related artifact must be &#8220;extensible and scalable&#8221;. It is the mandatory characteristic of good design. Language, hardware, programs - everything.</p>
<p>It was pointed out by Alan Kay in his OOPSLA speach (http://video.google.com/videoplay?docid=-2950949730059754521), that when you design things you &#8220;must play grand&#8221;. When you design language you play it &#8220;grand&#8221; also . Which certainly means easy extensibility of the language in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Penrose</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-697</link>
		<dc:creator>Sam Penrose</dc:creator>
		<pubDate>Fri, 08 Jun 2007 23:30:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-697</guid>
		<description>I thought this paper was a remarkable rhetorical achievement without much substance WRT its purported topic. Compared to say, the Backus paper it had few specifics. The starting point -- drawing parallels between natural languages and computer languages is, erm, a disputed tactic.

Larry Wall thinks the two phenomena are so strongly related that principles derived from the study of natural languages should guide the design of computer languages, as they did guide his design of Perl. Others, myself included, fail to see any evidence for this line of thinking.</description>
		<content:encoded><![CDATA[<p>I thought this paper was a remarkable rhetorical achievement without much substance WRT its purported topic. Compared to say, the Backus paper it had few specifics. The starting point &#8212; drawing parallels between natural languages and computer languages is, erm, a disputed tactic.</p>
<p>Larry Wall thinks the two phenomena are so strongly related that principles derived from the study of natural languages should guide the design of computer languages, as they did guide his design of Perl. Others, myself included, fail to see any evidence for this line of thinking.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Code Read 10 - Guy Steele on "Growing a Language" &#187; Skillful Software</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-703</link>
		<dc:creator>Code Read 10 - Guy Steele on "Growing a Language" &#187; Skillful Software</dc:creator>
		<pubDate>Wed, 06 Jun 2007 12:35:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-703</guid>
		<description>[...] language, and how much should be left to users to build. In the latest of Scott Rosenberg&#8217;s Code Reads Guy Steel shows how the ideas of the open source movement influenced the designers of Java to to [...]</description>
		<content:encoded><![CDATA[<p>[...] language, and how much should be left to users to build. In the latest of Scott Rosenberg&#8217;s Code Reads Guy Steel shows how the ideas of the open source movement influenced the designers of Java to to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pure Danger Tech &#187; Blog Archive &#187; Java 7 Roundup (May 30th)</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-702</link>
		<dc:creator>Pure Danger Tech &#187; Blog Archive &#187; Java 7 Roundup (May 30th)</dc:creator>
		<pubDate>Thu, 31 May 2007 05:23:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-702</guid>
		<description>[...] also ran across a link (via Scott Rosenberg&#8217;s blog) to an older paper from Guy Steele on language design and his thoughts on how to grow Java that is [...]</description>
		<content:encoded><![CDATA[<p>[...] also ran across a link (via Scott Rosenberg&#8217;s blog) to an older paper from Guy Steele on language design and his thoughts on how to grow Java that is [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stéphane Bortzmeyer</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-699</link>
		<dc:creator>Stéphane Bortzmeyer</dc:creator>
		<pubDate>Sun, 27 May 2007 17:22:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-699</guid>
		<description>Daniel, indeed, most or all "functional programming languages" allow you to define functions that can be used instead of if / while / cond / etc.

An example in Haskell, where the lazy evaluation allows you to do:

myownif test block_else block_then =
   if test then
      block_then
   else
      block_else

main = do
       let x = 3
       myownif (x == 0) (print "Not zero") (print "Zero")


What Lisp and its friends bring you is that these functions are indistinguishable from the "normal" ones, even in their syntax.</description>
		<content:encoded><![CDATA[<p>Daniel, indeed, most or all &#8220;functional programming languages&#8221; allow you to define functions that can be used instead of if / while / cond / etc.</p>
<p>An example in Haskell, where the lazy evaluation allows you to do:</p>
<p>myownif test block_else block_then =<br />
   if test then<br />
      block_then<br />
   else<br />
      block_else</p>
<p>main = do<br />
       let x = 3<br />
       myownif (x == 0) (print &#8220;Not zero&#8221;) (print &#8220;Zero&#8221;)</p>
<p>What Lisp and its friends bring you is that these functions are indistinguishable from the &#8220;normal&#8221; ones, even in their syntax.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cleo Saulnier</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-698</link>
		<dc:creator>Cleo Saulnier</dc:creator>
		<pubDate>Fri, 25 May 2007 23:38:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-698</guid>
		<description>I think this search for the Holy Grail of programming languages is funny.  Before, it was about features.  That was no good, so now it's about patterns.  I could link several sites that explain far better than I can the problems with patterns.  In short, people can use patterns, but most do not understand how or why you should create one.

In any case, the search goes on and that's good to see.  However, for a field that is forced to be precise, the definitions used are rather ad-hoc.  When the author says that it adds to the vocabulary, whose vocabulary is that?  It's not ours.  It's not other programmers.  It isn't the language's vocabulary.  There is no learning of new vocabulary at all.  That's the most troubling part that language designers do not understand.  Once a program terminates, anything that software used to understand is gone and cannot be used by other software.  If something has to be relearned every single time, then it's NOT vocabulary.

So if someone learns a vocabulary, it means you no longer need to define it to any amount of detail when you communicate with that someone.  In our case, that someone should be the computer.  NOT THE LANGUAGE.  Getting away from the language is something that is not possible in the commercial world for obvious reasons.

Real vocabulary would be as if I used, say, a certain compression algorithm.  Instead of writing my own or using a library, the computer itself should know how to do it.  The computer should have this vocabulary.  This is a radical departure from the current way we write software and I've yet to see anything remotely close to it.</description>
		<content:encoded><![CDATA[<p>I think this search for the Holy Grail of programming languages is funny.  Before, it was about features.  That was no good, so now it&#8217;s about patterns.  I could link several sites that explain far better than I can the problems with patterns.  In short, people can use patterns, but most do not understand how or why you should create one.</p>
<p>In any case, the search goes on and that&#8217;s good to see.  However, for a field that is forced to be precise, the definitions used are rather ad-hoc.  When the author says that it adds to the vocabulary, whose vocabulary is that?  It&#8217;s not ours.  It&#8217;s not other programmers.  It isn&#8217;t the language&#8217;s vocabulary.  There is no learning of new vocabulary at all.  That&#8217;s the most troubling part that language designers do not understand.  Once a program terminates, anything that software used to understand is gone and cannot be used by other software.  If something has to be relearned every single time, then it&#8217;s NOT vocabulary.</p>
<p>So if someone learns a vocabulary, it means you no longer need to define it to any amount of detail when you communicate with that someone.  In our case, that someone should be the computer.  NOT THE LANGUAGE.  Getting away from the language is something that is not possible in the commercial world for obvious reasons.</p>
<p>Real vocabulary would be as if I used, say, a certain compression algorithm.  Instead of writing my own or using a library, the computer itself should know how to do it.  The computer should have this vocabulary.  This is a radical departure from the current way we write software and I&#8217;ve yet to see anything remotely close to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Conway</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-701</link>
		<dc:creator>Chris Conway</dc:creator>
		<pubDate>Fri, 25 May 2007 15:35:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-701</guid>
		<description>Daniel, I might be misunderstanding you (haven't looked at the Steele paper yet, so there's a good chance of that), but I think Lisp (explicitly) and most functional languages (through sugared constructs) define control-flow structures this way.</description>
		<content:encoded><![CDATA[<p>Daniel, I might be misunderstanding you (haven&#8217;t looked at the Steele paper yet, so there&#8217;s a good chance of that), but I think Lisp (explicitly) and most functional languages (through sugared constructs) define control-flow structures this way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Jimenez</title>
		<link>http://www.wordyard.com/2007/05/24/next-up-steele/#comment-695</link>
		<dc:creator>Daniel Jimenez</dc:creator>
		<pubDate>Fri, 25 May 2007 14:56:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1298#comment-695</guid>
		<description>Hmm, I wonder what a language would look like if if/for/while/etc could be defined as functions taking (in the case of if) a boolean and a block/closure. Would that help to grow a language at all?

Love the Code Reads, by the way.</description>
		<content:encoded><![CDATA[<p>Hmm, I wonder what a language would look like if if/for/while/etc could be defined as functions taking (in the case of if) a boolean and a block/closure. Would that help to grow a language at all?</p>
<p>Love the Code Reads, by the way.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
