<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Index Out Of Range</title>
	<atom:link href="http://www.frenk.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.frenk.com</link>
	<description>Francesco De Vittori</description>
	<lastBuildDate>Mon, 13 Feb 2012 08:41:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>Comment on Windows Phone 7: correct pinch zoom in Silverlight by tingting</title>
		<link>http://www.frenk.com/2011/03/windows-phone-7-correct-pinch-zoom-in-silverlight/#comment-1498</link>
		<dc:creator>tingting</dc:creator>
		<pubDate>Mon, 13 Feb 2012 08:41:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=317#comment-1498</guid>
		<description>Good job!
Thanks for this post, it&#039;s useful.
ps:the child is so lovely.</description>
		<content:encoded><![CDATA[<p>Good job!<br />
Thanks for this post, it&#8217;s useful.<br />
ps:the child is so lovely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by TechNeilogy</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1426</link>
		<dc:creator>TechNeilogy</dc:creator>
		<pubDate>Sun, 29 Jan 2012 17:31:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1426</guid>
		<description>My experience of discriminated unions and pattern matching is similar: they make light work of walking syntax trees.  Even without all the other benefits, this feature alone is enough to recommend F# for implementing DSLs (ditto Scala for the JVM).</description>
		<content:encoded><![CDATA[<p>My experience of discriminated unions and pattern matching is similar: they make light work of walking syntax trees.  Even without all the other benefits, this feature alone is enough to recommend F# for implementing DSLs (ditto Scala for the JVM).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part one) by TechNeilogy</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-one/#comment-1423</link>
		<dc:creator>TechNeilogy</dc:creator>
		<pubDate>Sun, 29 Jan 2012 16:18:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=382#comment-1423</guid>
		<description>Excellent post and application.  I especially wanted to comment on this: 

&quot;Breakpoints are evil: building a half-working solution, running it through breakpoints and tune it until the result matches what you expect is very close to the definitions of cargo-cult programming/programming by coincidence.&quot;

I recently ported a sizeable C# project to F# and then to Scala.  During the F# port, I continued using the VS debugger pretty much as I always had for C# -- that is, as you describe above -- as a coding tool.

For the Scala version, I was using different IDEs, with less familiar debuggers.  The available debuggers were perfectly fine, but my unfamiliarity with their user intefaces caused me to rely more on the old-fashioned tools of paying more attention to the code, crafting-in trace points, etc.

At first it was frustrating, but then I noticed something interesting: I didn&#039;t really miss not using a debugger as a coding tool.  I re-discovered the fact that I could reason perfectly well about the correctness of the code just by using my brain and experience.  Even if I needed to add things like trace points, I was adding them deliberately, as a result of first reasoning about the program, and not as a semi-random probe.

This is not to disparage debuggers, they are still a very, very useful and necessary tool when there is really is a tough bug to be squashed.  But they can become a crutch when used in support of trial and error programming. 

Which dovetails nicely with another observation I&#039;ve made about F# and Scala: if you can get the IDE warnings to go away, the program nearly always runs correctly.  That is, the functional programming aspects of F# and Scala simplify the reasoning about a program to such an extent that most errors are reduced to mere syntax.</description>
		<content:encoded><![CDATA[<p>Excellent post and application.  I especially wanted to comment on this: </p>
<p>&#8220;Breakpoints are evil: building a half-working solution, running it through breakpoints and tune it until the result matches what you expect is very close to the definitions of cargo-cult programming/programming by coincidence.&#8221;</p>
<p>I recently ported a sizeable C# project to F# and then to Scala.  During the F# port, I continued using the VS debugger pretty much as I always had for C# &#8212; that is, as you describe above &#8212; as a coding tool.</p>
<p>For the Scala version, I was using different IDEs, with less familiar debuggers.  The available debuggers were perfectly fine, but my unfamiliarity with their user intefaces caused me to rely more on the old-fashioned tools of paying more attention to the code, crafting-in trace points, etc.</p>
<p>At first it was frustrating, but then I noticed something interesting: I didn&#8217;t really miss not using a debugger as a coding tool.  I re-discovered the fact that I could reason perfectly well about the correctness of the code just by using my brain and experience.  Even if I needed to add things like trace points, I was adding them deliberately, as a result of first reasoning about the program, and not as a semi-random probe.</p>
<p>This is not to disparage debuggers, they are still a very, very useful and necessary tool when there is really is a tough bug to be squashed.  But they can become a crutch when used in support of trial and error programming. </p>
<p>Which dovetails nicely with another observation I&#8217;ve made about F# and Scala: if you can get the IDE warnings to go away, the program nearly always runs correctly.  That is, the functional programming aspects of F# and Scala simplify the reasoning about a program to such an extent that most errors are reduced to mere syntax.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by ct</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1420</link>
		<dc:creator>ct</dc:creator>
		<pubDate>Sat, 28 Jan 2012 17:29:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1420</guid>
		<description>This is awesome man, and motivates me to learn F#.  I really love the cool WPF UI, and this gives me some ideas on doing a timeline visualization for some stuff at work.</description>
		<content:encoded><![CDATA[<p>This is awesome man, and motivates me to learn F#.  I really love the cool WPF UI, and this gives me some ideas on doing a timeline visualization for some stuff at work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Windows Phone 7: correct pinch zoom in Silverlight by Getting the Windows Phone Blog Rolling with Image Zooming &#124; chevonchristie.com</title>
		<link>http://www.frenk.com/2011/03/windows-phone-7-correct-pinch-zoom-in-silverlight/#comment-1409</link>
		<dc:creator>Getting the Windows Phone Blog Rolling with Image Zooming &#124; chevonchristie.com</dc:creator>
		<pubDate>Thu, 26 Jan 2012 22:02:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=317#comment-1409</guid>
		<description>[...] to what is experience in the Windows Phone web browser and other native apps, I stumbled upon the IndexOutRange blog, where the another dev has taken what I consider a successful stab at the problem. How I [...]</description>
		<content:encoded><![CDATA[<p>[...] to what is experience in the Windows Phone web browser and other native apps, I stumbled upon the IndexOutRange blog, where the another dev has taken what I consider a successful stab at the problem. How I [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by frenk</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1407</link>
		<dc:creator>frenk</dc:creator>
		<pubDate>Thu, 26 Jan 2012 21:34:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1407</guid>
		<description>It&#039;s the second time in a short while that I hear about Nemerle. This means it&#039;s time to give it a look!</description>
		<content:encoded><![CDATA[<p>It&#8217;s the second time in a short while that I hear about Nemerle. This means it&#8217;s time to give it a look!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by frenk</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1406</link>
		<dc:creator>frenk</dc:creator>
		<pubDate>Thu, 26 Jan 2012 21:32:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1406</guid>
		<description>I haven&#039;t used any library at all. I started with a ListBox where each row is a templated ItemsControl (using a Canvas as ItemsPanelTemplate and each bar is a Rectangle). However i quickly forgot that approach because it just dies when you have a large number of bars.

In the end I used a ListBox but each row is built with a DrawingVisual instead of a databound ItemsControl. That way there are no tooltip or other nice features, but it&#039;s really fast even with a huge number of items.</description>
		<content:encoded><![CDATA[<p>I haven&#8217;t used any library at all. I started with a ListBox where each row is a templated ItemsControl (using a Canvas as ItemsPanelTemplate and each bar is a Rectangle). However i quickly forgot that approach because it just dies when you have a large number of bars.</p>
<p>In the end I used a ListBox but each row is built with a DrawingVisual instead of a databound ItemsControl. That way there are no tooltip or other nice features, but it&#8217;s really fast even with a huge number of items.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by Adam Curtis</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1404</link>
		<dc:creator>Adam Curtis</dc:creator>
		<pubDate>Thu, 26 Jan 2012 18:54:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1404</guid>
		<description>Excellent post! One question, what library are you using to create the timeline?</description>
		<content:encoded><![CDATA[<p>Excellent post! One question, what library are you using to create the timeline?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by F# &#124; Pearltrees</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1403</link>
		<dc:creator>F# &#124; Pearltrees</dc:creator>
		<pubDate>Thu, 26 Jan 2012 17:05:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1403</guid>
		<description>[...] Real world F#: my experience (part two) &#124; Index Out Of Range [...]</description>
		<content:encoded><![CDATA[<p>[...] Real world F#: my experience (part two) | Index Out Of Range [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Real world F#: my experience (part two) by onur gumus</title>
		<link>http://www.frenk.com/2012/01/real-world-f-my-experience-part-two/#comment-1402</link>
		<dc:creator>onur gumus</dc:creator>
		<pubDate>Thu, 26 Jan 2012 14:11:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.frenk.com/?p=376#comment-1402</guid>
		<description>Try Nemerle. Nemerle to F# is what F# is to C#.</description>
		<content:encoded><![CDATA[<p>Try Nemerle. Nemerle to F# is what F# is to C#.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

