<?xml version='1.0' encoding='UTF-8' ?>
<rss version="2.0" xmlns:admin="http://webns.net/mvcb/" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:icbm="http://postneo.com/icbm" xmlns:includedComments="http://www.laudably.com/rss2-comments" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
	<channel>
		<title>Smalltalk Tidbits, Industry Rants: category: DotNet</title>
		<link>http://www.cincomsmalltalk.com/blog/blogView</link>
		<description>Cincom Product Manager</description>
		<webMaster>jrobertson@cincom.com</webMaster>
		<lastBuildDate>Sun, 30 Jul 2006 23:47:38 EDT</lastBuildDate>
		<image>
			<url>http://www.cincomsmalltalk.com/images/cst_small.jpg</url>
			<title>Smalltalk Tidbits, Industry Rants</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView</link>
			<height>50</height>
			<width>81</width>
		</image>
		<admin:generatorAgent rdf:resource="http://www.cincomsmalltalk.com/CincomSmalltalkWiki/Silt"></admin:generatorAgent>
		<admin:errorReportsTo rdf:resource="mailto:jrobertson@cincom.com"></admin:errorReportsTo>
		<dc:language>en-us</dc:language>
		<dc:creator>James A. Robertson</dc:creator>
		<dc:rights>Copyright 2005 Cincom Systems, Inc.</dc:rights>
		<dc:date>2006-07-30T23:47:38-05:00</dc:date>
		<icbm:latitude>39.214103</icbm:latitude>
		<icbm:longitude>-76.878807</icbm:longitude>
		<item>
			<title>This sort of thing is why</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3290781169</link>
			<category>DotNet</category>
			<pubDate>Tue, 12 Apr 2005 17:52:49 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p><a href="http://slashstar.com/blogs/tim/archive/2005/04/12/RuntimeParametersFromReflection.aspx">Read this post</a>, and you'll understand why the CLR isn't really ready for Smalltalk. Heck, I can grab the call stack from inside BottomFeeder - <em>a running Smalltalk application</em>. </p>
</div>]]></description>
			<guid isPermaLink="false">3290781169</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3290781169</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3290781169</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3290781169</wfw:comment>
		</item>
		<item>
			<title>Open with continued interest</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3289202956</link>
			<category>DotNet</category>
			<pubDate>Fri, 25 Mar 2005 11:29:16 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>There's been a lot of commenting on <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632">this post</a> from a few days ago on the CLR and dynamic languages. Normally, comments automatically close down when an item falls out of the RSS feed. With the level of interest, I'm leaving this one open. There's a <a href="http://www.cincomsmalltalk.com/rssBlog/blog_whateverlanguageyouwantsolongasitslikeC.xml">single item feed for it here</a>, if you want to follow the fun in your aggregator. I'll close the comments down once things start to die down, most likely.</p>
</div>]]></description>
			<guid isPermaLink="false">3289202956</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3289202956</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3289202956</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3289202956</wfw:comment>
		</item>
		<item>
			<title>whatever language you want, so long as it's like C#</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</link>
			<category>DotNet</category>
			<pubDate>Mon, 21 Mar 2005 16:33:52 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p><a href="http://www.panopticoncentral.net/archive/2005/03/21/8041.aspx">Panopticon</a> sets out to explain why they had to break compatibility from VB to VB.NET - and in the process, explains one of the main problems with the CLR for us dynamic language folk: the CLR can host any language, so long as it contorts itself into a C# style shape. </p>
</div>]]></description>
			<guid isPermaLink="false">3288875632</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3288875632</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3288875632</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-21T17:28:58-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;i&gt;"...one of the main problems with the CLR for us dynamic language folk..."&lt;/i&gt;&lt;br&gt;&lt;br&gt;

I am having trouble following your reasoning - &lt;b&gt;implementations&lt;/b&gt; of many Dynamic Languages (in .NET) &lt;b&gt;exist&lt;/b&gt;

&lt;br&gt;&lt;br&gt;
Perhaps the problem is the capabilities of the dynamic language developer team?&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>The problem is denial?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-21T17:37:31-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;Alex,&lt;/p&gt;
&lt;p&gt;The problem is that many things that are normal in Smalltalk - rewinding the context stack for debugging (or, more interestingly, for things like Seaside) simply aren't possible on the JVM or on the CLR - the VMs don't support that. Sure, it could be emulated - but that would result in a really, really slow implementation. There are core capabilities of Smalltalk that you can't do on the CLR or the JVM. Dynamic languages on those platforms are pale shadows of what they can be on platforms that are built with them in mind.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-21T18:06:23-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;If you want 100% of what you have today, then you are 100% correct.&lt;br&gt;&lt;br&gt;
OTOH, if you want the &lt;b&gt;major&lt;/b&gt; benefits of Smalltalk with the &lt;b&gt;major&lt;/b&gt; benefits of being on the CLR, then&lt;ul&gt;
&lt;li&gt;You will have a dynamite development solution&lt;/li&gt;
&lt;li&gt;You must give up some of the lesser benefits&lt;/li&gt;
&lt;/ul&gt;
Great solutions are about making &lt;b&gt;appropriate&lt;/b&gt; compromises.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>You Are 100% Correct</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-21T19:15:09-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;Alex,&lt;/p&gt;
&lt;p&gt;Giving up the ability to rewind a context would be giving up too much. It would also break tons of code - the blog server running this would break without it, as would BottomFeeder. It's too high a price for too small a gain&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-21T19:47:55-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Building great GUIs is too small a gain? Windows authentication support is too small a gain? The hundreds of components available is too small a gain?&lt;br&gt;&lt;br&gt;
We live in different worlds!&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Too small a gain??</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-21T20:47:43-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;Alex,&lt;/p&gt;
&lt;p&gt;An awful lot of our revenues are not coming from Windows. Pushing a major effort for a single platform - and losing a lot of our current capabilities while we did so - is not a great idea, IMHO&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
Troy Brumley</includedComments:author>
					<includedComments:pubDate>2005-03-21T20:48:55-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
Troy Brumley&lt;/p&gt;

&lt;p&gt;

&lt;p&gt;You would lose a lot of expressive ability going from a dynamic to a static environment.  I have frequent fits trying to get Java to do things that I can do easily in Smalltalk.  Some of this is the Smalltalk wiring in my head, I know, but there it is.  The only way I can think of to illustrate this pain is to try to go through life one handed for a week or so.&lt;/p&gt;
&lt;p&gt;Opening a bottle is easy if you have two hands with opposable thunbs.&lt;/p&gt;
&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Bob</includedComments:author>
					<includedComments:pubDate>2005-03-22T09:36:15-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;A strong claim for CLR (less so for JVM) is that it's a potential platform for any language. James pointed out that there are problems with this claim. Responding that, sure, you've got to give up things that Smalltalk already provides (and which are central to the language semantics) to be performant on the CLR is an admission that the original strong claim is not correct. There may be other claims (e.g., "look at all the cool things you can do if you'll give up some stuff"), but they don't address the question of the suitability of the CLR as a language platform.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Why should less than 100% be acceptable?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-22T11:24:57-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;So there are things that are &lt;i&gt;central to the language semantics&lt;/i&gt; that are "difficult" on the CLR. Could you, perhaps, give a list of them? Maybe we can address some?&lt;br&gt;&lt;br&gt;
James, above, references &lt;i&gt;rewind a context&lt;/i&gt;. Is this similar to Scheme's Call With Current Continuation? If so, take a look at the Scheme implementations on the CLR - it has been accomplished!&lt;br&gt;&lt;br&gt;
I also assume that the &lt;i&gt;debugging&lt;/i&gt; issue is just a claim that it is easier and more elegant in Smalltalk (a claim which I would support). After all, there are hundreds of thousands of us that &lt;i&gt;get by&lt;/i&gt; debugging the CLR way, with no &lt;i&gt;great&lt;/i&gt; penalty.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Can we get specific?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
Troy Brumley</includedComments:author>
					<includedComments:pubDate>2005-03-22T14:09:49-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
Troy Brumley&lt;/p&gt;

&lt;p&gt;

&lt;p&gt;Real block closures.  Man, how I miss those now that I know how to use them clearly in Smalltalk.  I'm not a language or VM theorist, so I don't have an opinion if you can sit this clearly and easily on top of a JVM or the CLR or not, but they are an incredibly useful tool.&lt;/p&gt;
&lt;p&gt;Anyone else have any items to list for Alex?&lt;/p&gt;
&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Blocks</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-22T15:44:24-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;I do not think there is any difficulty implementing these in the CLR.&lt;br&gt;&lt;br&gt;
In it's simplest form  we just have an anonymous function, which is supported by .NET 2.0. Even in 1.1 there is a clumsier version using delegates.&lt;br&gt;&lt;br&gt;
Scheme implementaions on .NET use closures too.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Block Closures</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>James T. Savidge</includedComments:author>
					<includedComments:pubDate>2005-03-22T22:53:09-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Alex said:


&lt;/p&gt;

&lt;p&gt;&gt; After all, there are hundreds of thousands of us that&lt;br&gt;
&gt; get by debugging the CLR way, with no great penalty.


&lt;/p&gt;

&lt;p&gt;Last year when I was working on a C# project, debugging was so painful that I wished I could have taken a hammer to .Net.


&lt;/p&gt;

&lt;p&gt;As an example, we were trying to debug some Hashtable objects and found that when inspecting those types in the debugger, there didn't appear to be any way to see what items were in the object.


&lt;/p&gt;

&lt;p&gt;No one on the project could figure out how to do it.


&lt;/p&gt;

&lt;p&gt;We always had to shut down the program, go to the place in the code where we wanted to know the contents of the Hashtable, and loop through the object &lt;strong&gt;printing&lt;/strong&gt; the items to the console.


&lt;/p&gt;

&lt;p&gt;That is the type of debugging I had to do back in &lt;strong&gt;1985&lt;/strong&gt; when I programmed in Borland Turbo Pascal.


&lt;/p&gt;

&lt;p&gt;Smalltalk had object specific inspecting and debugging &lt;strong&gt;30&lt;/strong&gt; years ago.


&lt;/p&gt;

&lt;p&gt;I consider having to go back to the Turbo Pascal days to be a great penalty.


&lt;/p&gt;

&lt;p&gt;Smalltalk is what Java and C#/.Net want to be when they grow up.&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Re: CLR Debugging</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-23T00:03:35-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Hard to say what was going on in your situation. I have found drilling down into complex objects in the CLR debugger practical - though of course no where near as easy as the Smalltalk Inspector!.&lt;br&gt;&lt;br&gt;
Smalltalk, Java and C#/.Net need to grow up. The question is - is it practical to build a dynamic language of great value on the CLR? I propose that it is. There are enough demonstrations - see &lt;a href='http://www.dotnetpowered.com/languages.aspx' rel="noFollow"&gt;.NET Languages&lt;/a&gt; - to substantiate that. And as I said before, you cannot implement 100% of VW, but perhaps with a vision you could implement something great.
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Debugging - there didn't appear to be any way to see?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>bryan</includedComments:author>
					<includedComments:pubDate>2005-03-23T03:12:05-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;'you cannot implement 100% of VW, but perhaps with a vision you could implement something great.'
&lt;p&gt;
if you cannot implement 100% what can you implement, what things would have to be left out, would the resultant language be hampered by a C# straitjacket?&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>okay then</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author></includedComments:author>
					<includedComments:pubDate>2005-03-23T15:34:21-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Is it practical to build a dynamic language on the CLR?  Yes.  Is it practical to USE those languages on the CLR? No.  The implementation techniques available for implementors of dynamic languages on the CLR make them perform too poorly for practical use.  How many commercial projects use a dynamic language on the CLR?  How many use C#?&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author></includedComments:author>
					<includedComments:pubDate>2005-03-23T15:47:51-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;For features like closures/anonymous methods, type inference, etc., see boo. And eventually there will be usable implementations of ruby and python on .NET/Mono also.

&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Meg</includedComments:author>
					<includedComments:pubDate>2005-03-23T23:43:56-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;

&lt;p&gt;&amp;quot; Since we have decided to use the natural style for each platform Bigloo compiles to and since this style uses the native stack, we have to face the problem of saving and restoring it for implementing continuations. This is not possible on all platforms. If a tricky implementation in C using setjmp, longjmp and memcpy &lt;a href=""&gt;15&lt;/a&gt; allows to save and restore the stack, in the JVM and the CLR, the stack is read-only and thus cannot be restored. As a consequence, amongst its three backends, Bigloo only supports full continuations on its C backend. On the JVM and the CLR platforms a restricted version is proposed: continuations are first-class citizens but they can only be used within the dynamic extent of their capture. In other words, on these platforms, continuations can be used to implement escape operations such as exceptions but they cannot be used to implement operations such as suspending and resuming computations. As such, neither BiglooJVM nor Bigloo.NET conform to Scheme R5rs. In particular, the program of Figure 1 does not run on the JVM and the CLR. It only runs with the C backend. On the JVM and the CLR, Bigloo's call/cc is implemented by the means of linked exceptions. Capturing a continuation installs an exception handler. Applying a continuation raises an exception that is intercepted by the previously installed handler. On these platforms Bigloo's call/cc has the expressiveness of Java and C# exceptions.&amp;quot;&lt;/p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;Sorry, what were you saying about continuations in Scheme on the CLR, Alex?&lt;/p&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author></includedComments:author>
					<includedComments:pubDate>1901-01-01T00:00:00-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
&lt;/p&gt;&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Joe Duffy</includedComments:author>
					<includedComments:pubDate>2005-03-24T11:50:13-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Simply because one Scheme compiler implementation didn't implement continuations (for one reason or another) doesn't mean it's impossible. In fact, the Northeastern folks have successfully done so in Common Larcency. There is a wealth of known techniques for doing this. It involves building up an abstraction on top of the CLR to handle the stack capture/restore, but nonetheless it's "pay for play" and works just fine.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>FUD</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-24T12:15:53-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&amp;quot;Works just fine&amp;quot; in this context means &amp;quot;works a whole hell of a lot slower than it should&amp;quot;. Almost certainly slow enough to make it worthless.&lt;/p&gt;
&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-24T14:15:40-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;So I actually asked an implementer (rather than speculate) - Common Larceny: &lt;br&gt;&lt;br&gt;
&lt;i&gt;On one issue - continuations - can the CLR support these?&lt;/i&gt;&lt;br&gt;&lt;br&gt;

Yes!
&lt;br&gt;&lt;br&gt;
The current version of Larceny does it the old-fashioned way by heap-allocating activation records and it never really uses the native CLR stack, but a couple of months ago I figured out a new way to implement full continuations even on a restricted architecture like CLR or the JVM.  It has the added bonus of causing the process to evolve tail-recursively *even if* the underlying machine doesn't do tail calls.
&lt;br&gt;&lt;br&gt;
I'm currently co-authoring a paper on it, and I'm not sure when we'll be able to retrofit the technique into Larceny.
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Continuations on the CLR</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Joe Duffy</includedComments:author>
					<includedComments:pubDate>2005-03-24T14:55:21-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Ahh, yes...

A: "You can't do that, it's impossible."
B: "No it's not. See x, y, and z."
A: "Oh, well it's probably hard to do."
B: "Nope, it's not. There's a lot of research in this area."
A: "Oh, well it probably performs poorly. It's worthless."&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>More FUD</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-24T16:05:44-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;We've had engineers from our VM group look seriously at doing Smalltalk on the CLR. Their estimation was that we would end up with a slower system that had less functionality than the current one.&lt;/p&gt;
&lt;p&gt;Not a sales point, to my mind. I figure that as VM engineers, they know more about the subject than I do. And btw - having to implement the entire context capture in a layer above the CLR would result in a dog slow implementation - any continuation based scheme that used such an implementation would not be performant or scalable.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Patrick Logan</includedComments:author>
					<includedComments:pubDate>2005-03-24T16:45:11-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;I suspect but cannot prove that any agile languages implemented on the CLR are for some significant amount of time going to be second or third class citizens. Would that be worthwhile, rethinking and re-engineering a language implementation for second or third class status? The return on investment does not seem to be there unless Microsoft pays for it by trailblazing with IronPython or something else.
&lt;p&gt;
The vendor with a current product or open source implementation is better off building a bridge to the CLR rather than a reimplementation in the CLR itself. These have been fairly well understood by now and are significantly less effort.
&lt;p&gt;
By the way I think the IronPython keynote has been given at PyCon already this week, so we'll see what the status is.
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Second or Third Class Languages</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Scott</includedComments:author>
					<includedComments:pubDate>2005-03-25T13:14:34-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Patrick,

A new pre-alpha release of IronPython has been released and is available for download from Microsofts site. I don't have anything to report about it's status because I don't know Python so I can't compare the two.

http://www.microsoft.com/downloads/details.aspx?familyid=cf952fdb-2344-4b1e-b169-3f5dfbca2984&amp;displaylang=en
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-25T15:59:58-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;James,&lt;br&gt;
I am guessing that you have not actually tried Common Larceny but have based this assumption on "hearsay", or some other suitably groundless basis.&lt;br&gt;&lt;br&gt;
I am not sure I have the time, but why not give me a simple test you have run in VW and I will do the same in Common Larceny and we will see if there is any basis to your comment?&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>would not be performant or scalable?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-25T16:26:05-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Try the equivalent of this:&lt;/p&gt;

&lt;pre&gt;

| collection |
collection := OrderedCollection new.
1 to: 100000 do: [:index |
     | count msg |
     msg := ('add', ':') asSymbol.
     count := index printString.
     collection perform: msg with: count].


&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Yes, leave the message construction in the loop - it's simulating code I've written that creates messages that way. I tested that in VW 7.3 (in the BottomFeeder runtime, no less - I didn't even have to fire up a dev environment).  Speaking of benefits, go ahead an show me how to do that &lt;i&gt;in a runtime CLR application&lt;/i&gt; while you're at it.  &lt;/p&gt;

&lt;p&gt;431 milliseconds in the BottomFeeder runtime.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Performance</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>bryan</includedComments:author>
					<includedComments:pubDate>2005-03-25T20:05:30-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;given the mentioned difficulties with dynamic languages I would hate to see someone trying to implement a true First-Class language ;)&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>'Second or Third Class Languages'</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-25T23:38:32-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;James,&lt;br&gt;&lt;br&gt;
I am not sure what your intent with that particular example was. It was not an example of Continuations. It was clearly an example of something that VW does well. Be that as it may, I have been experimenting with Boo - a python-like language on the CLR. This example, roughly similar in function:

&lt;/p&gt;&lt;pre&gt;
col = CreateInstance("System.Collections.ArrayList") as ArrayList
for i in range(0,100000):
	msg = "Add"
	Invoke(col, msg, i)

col.Sort()
&lt;/pre&gt;
runs in about 170 msecs.&lt;br&gt;&lt;br&gt;

Does this meet the challenge?
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Performance?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-26T06:16:16-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;You aren't constructing the message.&lt;/p&gt;
&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-03-26T06:33:16-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;/p&gt;
&lt;p&gt;&lt;p&gt;Alex,&lt;/p&gt;
&lt;p&gt;Well, you aren't constructing the string to put into the collection either. But in any case, the comparison is meaningless without a few questions. What class of system are you testing on? I tested on a Pentium (M), 1.5 Ghz system with 768 MB RAM, running XP SP II. You'll have to let me know what you are testing on, and make your test more like what I posted instead of a simplified version.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Re: whatever language you want, so long as it's like C#</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-26T09:54:43-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;I now run this:
&lt;/p&gt;&lt;pre&gt;
col = CreateInstance("System.Collections.ArrayList")
for i in range(0,100000):
	msg = "Add"
	count = i.ToString()
	Invoke(col, msg, count)

colSort = col as ArrayList
colSort.Sort()
&lt;/pre&gt;It takes the same time (between 150 and 180 ms). So we have a valid comparison I ran your program on VW 7.3 on my machine and it takes between 407 and 410 ms.&lt;br&gt;&lt;br&gt;
The time is not really the question. I believe your challenge was to do it at all? (&lt;i&gt;"...show me how to do that in a runtime CLR application while you're at it..."&lt;/i&gt;)
&lt;/div&gt;</includedComments:content>
					<includedComments:title>You are weaseling!</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3288875632</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-03-26T10:05:26-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Not sure what your point about "constructing message" is:
&lt;/p&gt;&lt;pre&gt;
col = CreateInstance("System.Collections.ArrayList")
for i in range(0,100000):
	msg = "Ad" + "d"
	count = i.ToString()
	Invoke(col, msg, count)

colSort = col as ArrayList
colSort.Sort()
&lt;/pre&gt;It takes 20 ms more
&lt;/div&gt;</includedComments:content>
					<includedComments:title>You are weaseling!</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3288875632</wfw:comment>
		</item>
		<item>
			<title>But can you maintain that?</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</link>
			<category>DotNet</category>
			<pubDate>Thu, 24 Feb 2005 12:40:50 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p><a href="http://dotnetjunkies.com/WebLog/sriram/archive/2005/02/23/56452.aspx">Sriram Krishnan</a> posted something interesting about the CLR garbage collector:</p>

<blockquote>
<p>I was talking to a former MSFT employee who worked on the CLR team. The conversation drifted towards languages used to implement virtual machines. Here's what I learnt. </p>

<p>The CLR's Garbage Collection%A0was initially written in Lisp by a <a href="http://pdcbloggers.net/Question_and_Answer/PNL02/Patrick_Dussud.category">Patrick Dussud</a> (I can't find a blog). This code was then run through a Lisp->C converter which was then cleaned up by an intern.</p>
</blockquote>

<p>That's interesting - it demonstrates to me that when MS needed something done <b>fast</b>, they knew well enough not to do it in C or C++ (assuming this story is correct, of course).  On the other hand, if you do what they did:</p>

<ul>
<li> Write a sub-system in language 1</li>
<li> Generate the C from the resulting code</li>
<li> Manually modify the results</li>
</ul>
<p>Can you actually maintain the results?  Generated code is <b>always</b> hard to grok.  It's one thing if you write in a high level langiage and then generate C (never actually looking at the C) - you can look at the C as something akin to byte code in that case.  But if you muck with the generated code before deploying it?  I'm not sure that you end up with something you can maintain...</p></p>
</div>]]></description>
			<guid isPermaLink="false">3286701650</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3286701650</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3286701650</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:puid>
					<includedComments:author>Sriram</includedComments:author>
					<includedComments:pubDate>2005-02-24T13:13:15-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt; My guess is that they used that for rapid prototyping - and then they probably rewrote a lot of the code manually.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-02-24T15:54:14-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;You say &lt;i&gt;"...Generated code is &lt;b&gt;always&lt;/b&gt; hard to grok..."&lt;/i&gt;
&lt;br&gt;&lt;br&gt;
I might buy &lt;b&gt;often&lt;/b&gt; but since I generate most of my code, I &lt;b&gt;know&lt;/b&gt; code can look just like a good developer wrote it - easily understandable.
 &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Generated code is always hard to grok - NOT</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:puid>
					<includedComments:author>Stephen Pair</includedComments:author>
					<includedComments:pubDate>2005-02-25T09:25:27-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt; Alex says: "since I generate most of my code, I know code can look just like a good developer wrote it"

Hmmm...that's curious, if the generated code is easy to grok, why do you need the code generator in the first place?&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3286701650</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2005-02-25T10:36:28-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;To save time! (And ensure consistency and correctness.)&lt;br&gt;&lt;br&gt;
400 lines of "DSL" generates 25,000 lines of production, working, easy to read and understand code!   &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Why the Code Generator?</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3286701650</wfw:comment>
		</item>
		<item>
			<title>No edit and continue?</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</link>
			<category>DotNet</category>
			<pubDate>Wed, 26 Jan 2005 08:12:11 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p><a href="http://dotnetjunkies.com/WebLog/sriram/archive/2004/05/10/13206.aspx">Sriram Krishnan</a> attended a TechEd conference, and has a good set of notes posted.  I noticed this in passing:</p>

<blockquote>
<p>Every attendant gets a number of points, and he can give any number of these points for any feature he believes is important. The features with the most points get implemented. The last time the board took a vote, the edit and continue feature got 0 points, which means it probably won't become implemented in the feature, unless a lot of pressure is applied by developers and clients.</p>
</blockquote>

<p>Hmm - I thought I've seen other people (from MS, but I could be mistaken) say that this would be added to "Whidbey".  In any event, I find it fascinating that a development board would think this is so irrelevant - really makes a Smalltalker scratch is head and go "huh?"</p></p>
</div>]]></description>
			<guid isPermaLink="false">3284179931</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3284179931</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3284179931</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</includedComments:puid>
					<includedComments:author>Vincent Foley</includedComments:author>
					<includedComments:pubDate>2005-01-26T14:25:22-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;We do scratch our heads, but then the .NET/Java people get this puzzled look on their faces.  As you said a few days ago, we need to be much better at explaining Smalltalk and its IDE.  The .NET/Java people probably don't see the need for E&amp;C because they think it's a temporary change during the execution of their program and that once they close the debugger, the bug is still in their code.  We need to explain better that when you modify a method with the Smalltalk debugger, the method is actually changed, that the debugger is not just to step through code and look at variables, but rather a coding tool which happens to be able to go step by step, back and forth, etc.


&lt;/p&gt;
&lt;p&gt;If anyone has a desktop recording tool, just make a simple demo with Squeak/VW/Dolphin/Whatever, show how it works, how it improves productivity, that it's not a trivial toy thing, but an actual programmer booster.&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</includedComments:puid>
					<includedComments:author>Patrick Logan</includedComments:author>
					<includedComments:pubDate>2005-01-26T22:23:13-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Chicken and egg...
&lt;p&gt;
How can they prioritize this well if they don't know its utility?
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Knowing what to ask for</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3284179931</includedComments:puid>
					<includedComments:author>Sriram</includedComments:author>
					<includedComments:pubDate>2005-01-29T01:09:55-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt; I kind of agree with this - but I never wrote that post!I dont know where the link came from either. As for EnC in C#, it got the highest votes - and now both VB and C# have EnC for Visual Studio 2005. I know - for I've played around with EnC in both (the betas)&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Err...where did you get that?</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3284179931</wfw:comment>
		</item>
		<item>
			<title>Complexity kills</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</link>
			<category>DotNet</category>
			<pubDate>Wed, 22 Dec 2004 09:55:43 EST</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><p>Seems that <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&entry=3281074010">it's not just me</a> - <a href="http://dotnetguy.techieswithcats.com/archives/004268.shtml">The .NET Guy</a> isn't pleased either:</p>

<blockquote>
<p>I read posts <a href="http://weblogs.asp.net/BCLTeam/archive/2004/12/21/328585.aspx" rel="noFollow">like this one detailing the new generics system in .NET</a>] and it makes the baby Jesus want to cry. Where is the latent typing that made generic programming so powerful? The monstrosity they've cooked up is basically useful for any type of generic programming where you don't actually USE the thing... meaning, containers. *sigh* I think it's time to start coding in <a href="http://ironpython.com/">IronPython</a>.</p>
</blockquote>
</p>
</div>]]></description>
			<guid isPermaLink="false">3281162143</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3281162143</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3281162143</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2004-12-22T10:52:19-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;The article states &lt;i&gt;"... If you are a developer working in C# or VB.NET, these new rules will have very little impact on you..."&lt;/i&gt;&lt;br&gt;&lt;br&gt;
The rules are for language &lt;b&gt;implementors&lt;/b&gt; -- a rare bread.

 &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Is it complex?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author></includedComments:author>
					<includedComments:pubDate>2004-12-22T11:04:22-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;So when will work restart on IronPython?&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title></includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2004-12-22T11:27:02-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;
Alex,&lt;br/&gt;
That comment demonstrates something clearly - MS believes that generics are a "complex" thing that "real" developers never really need.  Very telling, IMHO...&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Complexity kills</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2004-12-22T13:25:53-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;i&gt;"...MS believes that generics are a "complex" thing that "real" developers never really need..."&lt;/i&gt;&lt;br&gt;&lt;br&gt;
James,&lt;br&gt;
I am not sure where you get this view. It is a well publicized key feature of the next release of C# presented as a natural evolution of the language. &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>MS believes?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2004-12-22T14:34:39-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;
Alex,&lt;br/&gt;
I got that idea by reading the linked post...&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Complexity kills</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author>Alex</includedComments:author>
					<includedComments:pubDate>2004-12-22T15:25:33-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;James,&lt;br&gt;&lt;br&gt;
As I mentioned in my first comment above, if you read the post it clearly states:&lt;br&gt;&lt;br&gt;
&lt;b&gt;If you are a developer working in C# or VB.NET, these new rules will have very little impact on you...&lt;/b&gt; The rules are for language implementors.&lt;br&gt;&lt;br&gt;
Generics are quite straightforward.   &lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>reading the linked post...?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3281162143</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2004-12-22T16:01:21-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;
IME, features meant "just for implementors" have a way of being useful in general...&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Complexity kills</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3281162143</wfw:comment>
		</item>
	</channel>
</rss>
