<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.atalasoft.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rick Minerich's Development Wonderland : parallelism, robustness, fsharp</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parallelism/robustness/fsharp/default.aspx</link><description>Tags: parallelism, robustness, fsharp</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# and You! - New Hampshire User’s Group and Beyond</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx</link><pubDate>Mon, 26 Oct 2009 16:24:49 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:19518</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/19518.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=19518</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=19518</wfw:comment><description>&lt;p&gt;I’ve been working for a while on a new presentation which I was finally able to give last week at the &lt;a href="http://www.nhdn.com/DNN/"&gt;New Hampshire .NET User Group&lt;/a&gt;.&amp;#160; &lt;em&gt;F# and You!&lt;/em&gt; focuses on painting the big picture about F# instead of the off-putting details like having to learn new syntax.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.atalasoft.com/cs/blogs/rickm/functional_5555AB42.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="functional" border="0" alt="functional" src="http://www.atalasoft.com/cs/blogs/rickm/functional_thumb_6BAB5087.png" width="504" height="379" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For this new presentation I start by discussing the adoption of functional programming on other platforms by using Scala, Erlang and Haskell as examples.&amp;#160; I then continue on to how the algorithmic programmers are moving to functional languages while UI developers are moving towards declarative. &lt;/p&gt;  &lt;p&gt;This then naturally raises the question of why programmers would choose a specific style of programming for a specific task.&amp;#160; The answer, of course, is that when you work close to a domain you can build things more quickly and with a lower error rate.&lt;/p&gt;  &lt;p&gt;This then transitions easily into the specific beneficial properties of functional programming (and F#).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;General Overview:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Separation of UI and Back End&lt;/li&gt;    &lt;li&gt;What is Functional Programming? (Functional Concepts)&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Pure functions&lt;/li&gt;      &lt;li&gt;Immutability&lt;/li&gt;      &lt;li&gt;Lambda Expressions&lt;/li&gt;      &lt;li&gt;Higher Order Functions&lt;/li&gt;      &lt;li&gt;Recursion&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;The Benefits of Functional Programming&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Code Compression&lt;/li&gt;      &lt;li&gt;Parallelism&lt;/li&gt;      &lt;li&gt;Robustness&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Proof is in the Pudding&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;TrueSkill&lt;/li&gt;      &lt;li&gt;Grange Insurance Rating Engine&lt;/li&gt;      &lt;li&gt;MSN adCenter&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Wrap-up&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I’ve also found that it is useful to show the latest circulating version of the &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/archive/2008/04/25/10-hours-in-fsharp-exploring-concurrency-through-an-ant-colony-simulation.aspx"&gt;Ant Colony simulation I wrote over a year ago&lt;/a&gt;.&amp;#160; I found a version in &lt;a href="http://blogs.msdn.com/dsyme/archive/2009/10/10/f-tutorial-code-and-slides-jaoo-2009-edition.aspx"&gt;Don Syme’s JAOO Talk code samples&lt;/a&gt; but am not sure who has been keeping it up to date.&amp;#160; A big thanks to whoever that person is.&amp;#160; It provides some sweet eye candy to dull the bitterness of the technical Functional Concepts section.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Planned (and Past) “F# and You!” Locations:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;11/10/2009 – &lt;a href="http://ctdotnet.org/default.aspx"&gt;CT .NET Developers Group&lt;/a&gt; (Farmington, CT)      &lt;br /&gt;10/28/2009 – &lt;a href="http://www.technologyusersgroup.org/"&gt;Technology Users Group&lt;/a&gt; (Charleston, SC)      &lt;br /&gt;10/21/2009 – &lt;a href="http://www.nhdn.com/DNN/"&gt;New Hampshire .NET User Group&lt;/a&gt; (Nashua, NH)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;See the new &lt;a href="http://fsug.org/OtherEvents/tabid/67/Default.aspx"&gt;Other Events&lt;/a&gt; section of our &lt;a href="http://fsug.org/Home/tabid/37/Default.aspx"&gt;F# User Group site&lt;/a&gt; for information on other upcoming F# talks.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Downloads:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.atalasoft.com/cs/files/folders/19516/download.aspx"&gt;Latest Slides&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.atalasoft.com/cs/files/folders/19517/download.aspx"&gt;VS2008 Code Samples&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx&amp;amp;;subject=F%23+and+You!+-+New+Hampshire+User%e2%80%99s+Group+and+Beyond" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx&amp;amp;;title=F%23+and+You!+-+New+Hampshire+User%e2%80%99s+Group+and+Beyond" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx&amp;amp;title=F%23+and+You!+-+New+Hampshire+User%e2%80%99s+Group+and+Beyond" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx&amp;amp;;title=F%23+and+You!+-+New+Hampshire+User%e2%80%99s+Group+and+Beyond" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx&amp;amp;;title=F%23+and+You!+-+New+Hampshire+User%e2%80%99s+Group+and+Beyond&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/26/f-and-you-new-hampshire-user-s-group-and-beyond.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=19518" width="1" height="1"&gt;</description><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Code+Camp/default.aspx">Code Camp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fsharp/default.aspx">fsharp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/talks/default.aspx">talks</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/haskell/default.aspx">haskell</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fp/default.aspx">fp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/functional+programming/default.aspx">functional programming</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parallelism/default.aspx">parallelism</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/erlang/default.aspx">erlang</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/robustness/default.aspx">robustness</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/code+compression/default.aspx">code compression</category></item></channel></rss>