<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lazycoder &#187; Languages</title>
	<atom:link href="http://www.lazycoder.com/weblog/category/languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lazycoder.com/weblog</link>
	<description></description>
	<lastBuildDate>Wed, 30 Jun 2010 20:09:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Can a language be abused?</title>
		<link>http://www.lazycoder.com/weblog/2009/12/02/can-a-language-be-abused/</link>
		<comments>http://www.lazycoder.com/weblog/2009/12/02/can-a-language-be-abused/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 05:36:04 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Languages]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1230</guid>
		<description><![CDATA[K. Scott Allen has a great post showing an &#8220;abuse&#8221; of the lambda syntax in C#. But I&#8217;m wondering, can any use of programming language really be called abuse? The language designers and creators put the ability to create the hack described above into the language. If they didn&#8217;t want you to do things like [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://odetocode.com/Blogs/scott/archive/2009/11/30/your-abomination-is-my-clever-hack.aspx">K. Scott Allen has a great post showing an &#8220;abuse&#8221; of the lambda syntax in C#</a>.</p>
<p>But I&#8217;m wondering, can any use of programming language really be called abuse? The language designers and creators put the ability to create the hack described above into the language. If they didn&#8217;t want you to do things like that, why put the ability in there at all? <a href="http://support.microsoft.com/kb/199824">Using undocumented calls within the language to do strange things</a> is one thing, but simply using calls within the language itself?</p>
<p>What are some of the best &#8220;abuses&#8221; you&#8217;ve seen of a language?</p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F&amp;notes=K.%20Scott%20Allen%20has%20a%20great%20post%20showing%20an%20%22abuse%22%20of%20the%20lambda%20syntax%20in%20C%23.%0D%0A%0D%0ABut%20I%27m%20wondering%2C%20can%20any%20use%20of%20programming%20language%20really%20be%20called%20abuse%3F%20The%20language%20designers%20and%20creators%20put%20the%20ability%20to%20create%20the%20hack%20described%20above%20in" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F&amp;bodytext=K.%20Scott%20Allen%20has%20a%20great%20post%20showing%20an%20%22abuse%22%20of%20the%20lambda%20syntax%20in%20C%23.%0D%0A%0D%0ABut%20I%27m%20wondering%2C%20can%20any%20use%20of%20programming%20language%20really%20be%20called%20abuse%3F%20The%20language%20designers%20and%20creators%20put%20the%20ability%20to%20create%20the%20hack%20described%20above%20in" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F&amp;source=Lazycoder+&amp;summary=K.%20Scott%20Allen%20has%20a%20great%20post%20showing%20an%20%22abuse%22%20of%20the%20lambda%20syntax%20in%20C%23.%0D%0A%0D%0ABut%20I%27m%20wondering%2C%20can%20any%20use%20of%20programming%20language%20really%20be%20called%20abuse%3F%20The%20language%20designers%20and%20creators%20put%20the%20ability%20to%20create%20the%20hack%20described%20above%20in" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;t=Can%20a%20language%20be%20abused%3F" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=Can%20a%20language%20be%20abused%3F&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;t=Can%20a%20language%20be%20abused%3F" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=Can%20a%20language%20be%20abused%3F&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;title=Can%20a%20language%20be%20abused%3F&amp;selection=K.%20Scott%20Allen%20has%20a%20great%20post%20showing%20an%20%22abuse%22%20of%20the%20lambda%20syntax%20in%20C%23.%0D%0A%0D%0ABut%20I%27m%20wondering%2C%20can%20any%20use%20of%20programming%20language%20really%20be%20called%20abuse%3F%20The%20language%20designers%20and%20creators%20put%20the%20ability%20to%20create%20the%20hack%20described%20above%20in" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F&amp;t=Can%20a%20language%20be%20abused%3F&amp;s=K.%20Scott%20Allen%20has%20a%20great%20post%20showing%20an%20%22abuse%22%20of%20the%20lambda%20syntax%20in%20C%23.%0D%0A%0D%0ABut%20I%27m%20wondering%2C%20can%20any%20use%20of%20programming%20language%20really%20be%20called%20abuse%3F%20The%20language%20designers%20and%20creators%20put%20the%20ability%20to%20create%20the%20hack%20described%20above%20in" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Can%20a%20language%20be%20abused%3F%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F12%2F02%2Fcan-a-language-be-abused%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2009/12/02/can-a-language-be-abused/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>We need a language for programmers</title>
		<link>http://www.lazycoder.com/weblog/2009/11/17/we-need-a-language-for-programmers/</link>
		<comments>http://www.lazycoder.com/weblog/2009/11/17/we-need-a-language-for-programmers/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 21:10:40 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Languages]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1218</guid>
		<description><![CDATA[Here is a great rant about &#8220;modern&#8221; programming languages. And so for 20 years now these folks &#8212; *the* shining lights, in many ways, of &#8220;practical&#8221; programming language, operating systems, and general systems research &#8212; have continued to fail to &#8220;get&#8221; the fundamental practical needs of everyday programmers working in The Real World. &#8220;Go&#8221; is [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a <a href="http://www.xent.com/pipermail/fork/Week-of-Mon-20091109/054578.html">great rant about &#8220;modern&#8221; programming languages</a>.</p>
<blockquote><p>And so for 20 years now these folks &#8212;<br />
*the* shining lights, in many ways, of &#8220;practical&#8221; programming<br />
language, operating systems, and general systems research &#8212; have<br />
continued to fail to &#8220;get&#8221; the fundamental practical needs of everyday<br />
programmers working in The Real World.  &#8220;Go&#8221; is just another language<br />
written first for the compiler and only secondarily for the programmer<br />
&#8212; and stuck in a 70s mindset* about the relationship of that<br />
programmer to the (digital) world within which they live and work!<br />
(But hey, it compiles fast!  Which is, of course, THE problem that<br />
really needs addressing.) </p></blockquote>
<p>He then goes on to talk about some aspects of languages that frustrate him.</p>
<blockquote><p>J.H.C, folks, it&#8217;s nearly 2010.  Let&#8217;s get a few things straight:</p>
<p>   &#8211; most programming involves schlepping a few but complex data types<br />
between different string representations<br />
   &#8211; programmers have become plumbers and documentation-archaeologists<br />
mostly, which is sad and uninteresting<br />
   &#8211; programming languages are for *programmers* &#8212; not compilers and<br />
compiler-writers<br />
   &#8211; until you make the everyday, &#8220;simple&#8221; things simple, it will<br />
continue to be a dark art practiced by fewer and fewer<br />
   &#8211; any language that makes you explicitly import an IO module to<br />
read a file or stdin is fucked<br />
   &#8211; declarations are a pointless anachronism (same for explicit<br />
memory management)<br />
   &#8211; if I have to understand category theory to write a program that<br />
does IO, IT IS A NON STARTER!<br />
   &#8211; less stupid line-noise syntax and punctuation, people
</p></blockquote>
<p>I don&#8217;t understand why the need to compile fast is such a big deal. If your programming language makes you write so much code that it takes more than a few seconds to compile, you should probably look at using a different language. Here are some things that I&#8217;d like to see in a programming language that is designed for programmers rather than compilers or computers.</p>
<p>1) No typing &#8211; That&#8217;s not to say that I can&#8217;t declare my own types, classes, objects, etc&#8230; But that calls to objects should be type independent. (e.g. messaging and dynamic dispatch)</p>
<p>2) Built in unit testing &#8211; I should be able to declare contracts on the methods and pass/fail criteria. The tests should be run as part of the compile step or interpretation (if the language is compiled or interpreted)</p>
<p>3) Jellybeans</p>
<p>4) Automatic inclusion of libraries based on path and usage. &#8211; I don&#8217;t mind having to pull in a library to do file I/O or consume some other kind of data like ATOM or JSON. But at compile time, if I have referenced any of the objects contained in the library, all of the references to the library should be handled for me automatically. Any name collisions should be compiler warnings so I can specify which library to use by in my code or make the reference explicit in some other way. I like Pythons path based module convention, the language should just search the child directories for a library if the library isn&#8217;t already included in the base language pack.</p>
<p>5) Anytime a design pattern emerges, it should be re-factored into the language itself.</p>
<p>6) It should be a pocket language, have a set of keywords and syntax that is small and compact but still understandable. JavaScript and C are good examples of pocket languages. It&#8217;s easy to pick up the syntax.</p>
<p>I&#8217;m sure there&#8217;s more that I would add. What kinds of features would you like to see in a language oriented towards programmers rather than compilers?</p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers&amp;notes=Here%20is%20a%20great%20rant%20about%20%22modern%22%20programming%20languages.%0D%0A%0D%0AAnd%20so%20for%2020%20years%20now%20these%20folks%20---%20%20%0D%0A%2Athe%2A%20shining%20lights%2C%20in%20many%20ways%2C%20of%20%22practical%22%20programming%20%20%0D%0Alanguage%2C%20operating%20systems%2C%20and%20general%20systems%20research%20---%20have%20%20%0D%0Acontinued" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers&amp;bodytext=Here%20is%20a%20great%20rant%20about%20%22modern%22%20programming%20languages.%0D%0A%0D%0AAnd%20so%20for%2020%20years%20now%20these%20folks%20---%20%20%0D%0A%2Athe%2A%20shining%20lights%2C%20in%20many%20ways%2C%20of%20%22practical%22%20programming%20%20%0D%0Alanguage%2C%20operating%20systems%2C%20and%20general%20systems%20research%20---%20have%20%20%0D%0Acontinued" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers&amp;source=Lazycoder+&amp;summary=Here%20is%20a%20great%20rant%20about%20%22modern%22%20programming%20languages.%0D%0A%0D%0AAnd%20so%20for%2020%20years%20now%20these%20folks%20---%20%20%0D%0A%2Athe%2A%20shining%20lights%2C%20in%20many%20ways%2C%20of%20%22practical%22%20programming%20%20%0D%0Alanguage%2C%20operating%20systems%2C%20and%20general%20systems%20research%20---%20have%20%20%0D%0Acontinued" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;t=We%20need%20a%20language%20for%20programmers" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=We%20need%20a%20language%20for%20programmers&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;t=We%20need%20a%20language%20for%20programmers" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=We%20need%20a%20language%20for%20programmers&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;title=We%20need%20a%20language%20for%20programmers&amp;selection=Here%20is%20a%20great%20rant%20about%20%22modern%22%20programming%20languages.%0D%0A%0D%0AAnd%20so%20for%2020%20years%20now%20these%20folks%20---%20%20%0D%0A%2Athe%2A%20shining%20lights%2C%20in%20many%20ways%2C%20of%20%22practical%22%20programming%20%20%0D%0Alanguage%2C%20operating%20systems%2C%20and%20general%20systems%20research%20---%20have%20%20%0D%0Acontinued" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F&amp;t=We%20need%20a%20language%20for%20programmers&amp;s=Here%20is%20a%20great%20rant%20about%20%22modern%22%20programming%20languages.%0D%0A%0D%0AAnd%20so%20for%2020%20years%20now%20these%20folks%20---%20%20%0D%0A%2Athe%2A%20shining%20lights%2C%20in%20many%20ways%2C%20of%20%22practical%22%20programming%20%20%0D%0Alanguage%2C%20operating%20systems%2C%20and%20general%20systems%20research%20---%20have%20%20%0D%0Acontinued" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=We%20need%20a%20language%20for%20programmers%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F11%2F17%2Fwe-need-a-language-for-programmers%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2009/11/17/we-need-a-language-for-programmers/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>JavaScript: Not for the faint at heart?</title>
		<link>http://www.lazycoder.com/weblog/2009/08/13/javascript-not-for-the-faint-at-heart/</link>
		<comments>http://www.lazycoder.com/weblog/2009/08/13/javascript-not-for-the-faint-at-heart/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 16:20:20 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1157</guid>
		<description><![CDATA[JavaScript: A tool too sharp? Script# (Script Sharp) – writing javascript in C# Both Jimmy and roy have great posts discussing JavaScript. Roy is looking at it as a C# developer lured by the many, many articles about how jQuery is the only thing that makes JavaScript worth using and using Script# to abstract away [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/08/11/javascript-a-tool-too-sharp.aspx">JavaScript: A tool too sharp?</a></p>
<p><a href="http://weblogs.asp.net/rosherove/archive/2009/08/11/script-script-sharp-solving-the-javascript-overload-problem.aspx">Script# (Script Sharp) – writing javascript in C#</a></p>
<p>Both Jimmy and roy have great posts discussing JavaScript. Roy is looking at it as a C# developer lured by the many, many articles about how jQuery is the only thing that makes JavaScript worth using and using Script# to abstract away some of the messiness and pain usually associated with writing JavaScript. Jimmy discusses the merits of JavaScript itself and how it has changed how he approaches writing C# code.</p>
<p>One thing I like to point to is a great quote I heard on Twitter </p>
<blockquote><p> Java is to JavaScript as ham is to hamster</p></blockquote>
<p><img src="http://www.lazycoder.com/weblog/wp-content/uploads/2009/08/hamster2.jpg" alt="hamster2.jpg" border="0" width="400" height="277" align="right" /></p>
<p>JavaScript actually has more in common with Scheme or Lisp than it does Java or C#. I first realized this when I saw that <a href="http://javascript.crockford.com/little.html">Douglas Crockford had re-written all of the examples</a> in <a href="http://www.amazon.com/gp/product/0262560992?ie=UTF8&#038;tag=lazycoder-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0262560992">The Little Schemer</a><img src="http://www.assoc-amazon.com/e/ir?t=lazycoder-20&#038;l=as2&#038;o=1&#038;a=0262560992" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 in JavaScript. It&#8217;s easy to miss that fact when you see all of the pseudo <acronym title='Object Oriented Programming'><span class='caps'>OOP</span></acronym> noise like &#8220;var foo = new Foo();&#8221;. But when you see how trvial it is to implement something like a <a href="http://www.lazycoder.com/weblog/2009/08/12/a-simple-map-function-for-plain-javascript-arrays/">map method in JavaScript</a>, you realize how powerful the language can be. Most of the hatred for JavaScript comes from two things I&#8217;ve found:</p>
<ol>
<li>Broken <acronym title='Document Object Model'><span class='caps'>DOM</span></acronym> implementations &#8211; every browsers implementation of the <acronym title='Document Object Model'><span class='caps'>DOM</span></acronym> is broken in one respect or another.</li>
<li>A misunderstanding of either <a href="http://www.lazycoder.com/weblog/2008/09/23/modern-javascript-development-scope/">scope</a> or <a href="http://javascript.crockford.com/prototypal.html">inheritance</a>.</li>
</ol>
<p>Roy has a great point about the lack of good tooling surrounding JavaScript. There are excellent libraries like jQuery and PrototypeJS, but the usual tool support, intellisense, re-factoring, profiling, is a little more difficult to come by. I&#8217;ll address this in another post as I feel a lot of people are new to JavaScript and are struggling along with some substandard tools.</p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;notes=JavaScript%3A%20A%20tool%20too%20sharp%3F%0D%0A%0D%0AScript%23%20%28Script%20Sharp%29%20%E2%80%93%20writing%20javascript%20in%20C%23%0D%0A%0D%0ABoth%20Jimmy%20and%20roy%20have%20great%20posts%20discussing%20JavaScript.%20Roy%20is%20looking%20at%20it%20as%20a%20C%23%20developer%20lured%20by%20the%20many%2C%20many%20articles%20about%20how%20jQuery%20is%20the%20only%20th" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;bodytext=JavaScript%3A%20A%20tool%20too%20sharp%3F%0D%0A%0D%0AScript%23%20%28Script%20Sharp%29%20%E2%80%93%20writing%20javascript%20in%20C%23%0D%0A%0D%0ABoth%20Jimmy%20and%20roy%20have%20great%20posts%20discussing%20JavaScript.%20Roy%20is%20looking%20at%20it%20as%20a%20C%23%20developer%20lured%20by%20the%20many%2C%20many%20articles%20about%20how%20jQuery%20is%20the%20only%20th" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;source=Lazycoder+&amp;summary=JavaScript%3A%20A%20tool%20too%20sharp%3F%0D%0A%0D%0AScript%23%20%28Script%20Sharp%29%20%E2%80%93%20writing%20javascript%20in%20C%23%0D%0A%0D%0ABoth%20Jimmy%20and%20roy%20have%20great%20posts%20discussing%20JavaScript.%20Roy%20is%20looking%20at%20it%20as%20a%20C%23%20developer%20lured%20by%20the%20many%2C%20many%20articles%20about%20how%20jQuery%20is%20the%20only%20th" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;t=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;t=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;title=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;selection=JavaScript%3A%20A%20tool%20too%20sharp%3F%0D%0A%0D%0AScript%23%20%28Script%20Sharp%29%20%E2%80%93%20writing%20javascript%20in%20C%23%0D%0A%0D%0ABoth%20Jimmy%20and%20roy%20have%20great%20posts%20discussing%20JavaScript.%20Roy%20is%20looking%20at%20it%20as%20a%20C%23%20developer%20lured%20by%20the%20many%2C%20many%20articles%20about%20how%20jQuery%20is%20the%20only%20th" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F&amp;t=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F&amp;s=JavaScript%3A%20A%20tool%20too%20sharp%3F%0D%0A%0D%0AScript%23%20%28Script%20Sharp%29%20%E2%80%93%20writing%20javascript%20in%20C%23%0D%0A%0D%0ABoth%20Jimmy%20and%20roy%20have%20great%20posts%20discussing%20JavaScript.%20Roy%20is%20looking%20at%20it%20as%20a%20C%23%20developer%20lured%20by%20the%20many%2C%20many%20articles%20about%20how%20jQuery%20is%20the%20only%20th" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=JavaScript%3A%20Not%20for%20the%20faint%20at%20heart%3F%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F08%2F13%2Fjavascript-not-for-the-faint-at-heart%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2009/08/13/javascript-not-for-the-faint-at-heart/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Review: IronPython in Action</title>
		<link>http://www.lazycoder.com/weblog/2009/05/28/review-ironpython-in-action/</link>
		<comments>http://www.lazycoder.com/weblog/2009/05/28/review-ironpython-in-action/#comments</comments>
		<pubDate>Thu, 28 May 2009 14:44:04 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Languages]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1127</guid>
		<description><![CDATA[I&#8217;ve always wanted to use Python more but it&#8217;s difficult because the .NET Framework is such a walled garden in terms of interoperability with other programming languages. Mostly I use it to write little one off scripts when I want to move a bunch of files around or parse some text. I was really excited [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always wanted to use Python more but it&#8217;s difficult because the .NET Framework is such a walled garden in terms of interoperability with other programming languages. Mostly I use it to write little one off scripts when I want to move a bunch of files around or parse some text. I was really excited when Manning asked to to review IronPython in Action because I wanted to dive a little deeper into Python and possibly use it in some web applications. &#8220;IronPython in Action&#8221; makes it easy to get started using IronPython right away.</p>
<p>The book starts out with an introduction to Python itself and continues with a general description of how IronPython can use .NET types. It starts off by showing how to build a Winforms app using IronPython. If anything exposes the cruel, unnecessary complexity of .NET, it&#8217;s got to be a Winforms app. The IronPython examples are easy to follow and it&#8217;s always fun to create and manipulate a Winforms app using the IronPython console.</p>
<p>Chapter 4 talks about using Design patterns in IronPython. This is a refreshing change from most language books where patterns aren&#8217;t mentioned at all. The chapter builds an IronPython application and uses the MVC pattern for the overall architecture and the command pattern for the implementation of the menu bar events. </p>
<p>Chapter 7 discusses agile testing and unit testing using IronPython. I almost dropped the book in amazement. Unit testing is almost never mentioned in any language book and is relegated to a niche or advanced topic. Find a book about any other .NET language that mentions unit testing that doesn&#8217;t have the word &#8220;testing&#8221; in the title. This alone sets the quality of this book far above other language books I have read. It&#8217;s not just enough, in my opinion, to discuss the syntax of the language. You have to teach the reader how to use the language in your everyday work.</p>
<p>The next section, section3, deals with a few core UI frameworks commonly used during .NET development, WPF, Silverlight, and ASP.NET, as well as showing how you can use IronPython to administer your system. Performing tedious tasks is my most common use of IronPython. I use it to automate moving files that fit a specific pattern out of my &#8220;downloads&#8221; directory to their proper places. It was great to learn a few new techniques for using IronPython in Powershell.</p>
<p>The last section talks about extending IronPython using C#, something which it sounds like should be avoided unless you just can&#8217;t achieve decent performance with the equivalent IronPython code, and using IronPython as an embedde scripting engine. Python is used a lot in game programming because it&#8217;s easy to embed. The nuts and bolts of the game engine will be written in low-level C/Assembly while the game logic and story is written in Python. I love the idea of having an embedded scripting engine in my application that will allow me to quickly extend my application at runtime. The user need to perform a new calculation on some data?  Just send them an IronPython script and have them put it in a directory. It&#8217;s a great idea and the book describes exactly how to do just that, even if it does use a little too much jargon at times. These are advanced topics and you probably shouldn&#8217;t undertake them unless you have a good understanding of the basics in any case.</p>
<p>My overall feeling about this book is that it&#8217;s a great book. The authors use the same humor and dry wit that Python is known for to great effect.  Making the digestion of a very different language easier. I&#8217;m sure that as I continue to experiment with IronPython that I&#8217;ll keep this book close at hand.</p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=lazycoder-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1933988339&#038;md=10FE9736YVPPT7A0FBG2&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action&amp;notes=I%27ve%20always%20wanted%20to%20use%20Python%20more%20but%20it%27s%20difficult%20because%20the%20.NET%20Framework%20is%20such%20a%20walled%20garden%20in%20terms%20of%20interoperability%20with%20other%20programming%20languages.%20Mostly%20I%20use%20it%20to%20write%20little%20one%20off%20scripts%20when%20I%20want%20to%20move%20a%20bunch%20of%20" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action&amp;bodytext=I%27ve%20always%20wanted%20to%20use%20Python%20more%20but%20it%27s%20difficult%20because%20the%20.NET%20Framework%20is%20such%20a%20walled%20garden%20in%20terms%20of%20interoperability%20with%20other%20programming%20languages.%20Mostly%20I%20use%20it%20to%20write%20little%20one%20off%20scripts%20when%20I%20want%20to%20move%20a%20bunch%20of%20" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action&amp;source=Lazycoder+&amp;summary=I%27ve%20always%20wanted%20to%20use%20Python%20more%20but%20it%27s%20difficult%20because%20the%20.NET%20Framework%20is%20such%20a%20walled%20garden%20in%20terms%20of%20interoperability%20with%20other%20programming%20languages.%20Mostly%20I%20use%20it%20to%20write%20little%20one%20off%20scripts%20when%20I%20want%20to%20move%20a%20bunch%20of%20" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;t=Review%3A%20IronPython%20in%20Action" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=Review%3A%20IronPython%20in%20Action&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;t=Review%3A%20IronPython%20in%20Action" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=Review%3A%20IronPython%20in%20Action&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;title=Review%3A%20IronPython%20in%20Action&amp;selection=I%27ve%20always%20wanted%20to%20use%20Python%20more%20but%20it%27s%20difficult%20because%20the%20.NET%20Framework%20is%20such%20a%20walled%20garden%20in%20terms%20of%20interoperability%20with%20other%20programming%20languages.%20Mostly%20I%20use%20it%20to%20write%20little%20one%20off%20scripts%20when%20I%20want%20to%20move%20a%20bunch%20of%20" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F&amp;t=Review%3A%20IronPython%20in%20Action&amp;s=I%27ve%20always%20wanted%20to%20use%20Python%20more%20but%20it%27s%20difficult%20because%20the%20.NET%20Framework%20is%20such%20a%20walled%20garden%20in%20terms%20of%20interoperability%20with%20other%20programming%20languages.%20Mostly%20I%20use%20it%20to%20write%20little%20one%20off%20scripts%20when%20I%20want%20to%20move%20a%20bunch%20of%20" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Review%3A%20IronPython%20in%20Action%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2009%2F05%2F28%2Freview-ironpython-in-action%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2009/05/28/review-ironpython-in-action/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Object oriented programming vs. class oriented programming</title>
		<link>http://www.lazycoder.com/weblog/2008/12/17/object-oriented-programming-vs-class-oriented-programming/</link>
		<comments>http://www.lazycoder.com/weblog/2008/12/17/object-oriented-programming-vs-class-oriented-programming/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 16:21:28 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Languages]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1054</guid>
		<description><![CDATA[In the last post, the code was pretty clean. Our resident Rhino.Mocks guru at work, Sean, left a comment saying that the new code was much better than the Do-Func stuff I had before. Sean was the one that pointed me to the Repeat.Times methods in Rhino.Mocks. I thought I'd post the old code that [...]]]></description>
			<content:encoded><![CDATA[<p>In the last post, the code was pretty clean. Our resident Rhino.Mocks guru at work, <a href="http://www.sneal.net/blog/default.aspx">Sean</a>, <a href="http://www.lazycoder.com/weblog/2008/12/12/mocking-idatareader-using-rhinomocks-35/#comment-187020">left a comment</a> saying that the new code was much better than the Do-Func stuff I had before. Sean was the one that pointed me to the Repeat.Times methods in Rhino.Mocks. I thought I'd post the old code that I had cobbled together from a StackOverflow answer.</p>
<div class="igBar"><span id="lcode-5"><a href="#" onclick="javascript:showCodeTxt('code-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-5">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IDataReader reader = MockRepository.<span style="">GenerateStub</span>&lt;IDataReader&gt;<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x.<span style="">Read</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Do</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#40;</span>Func&lt;bool&gt;<span style="color:#006600; font-weight:bold;">&#41;</span> delegate<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m_NumberOfTimesIDataReaderHasBeenCalled++;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#40;</span>m_NumberOfTimesIDataReaderHasBeenCalled%<span style="color:#800000;color:#800000;">2</span> != <span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">"ID"</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Return</span><span style="color:#006600; font-weight:bold;">&#40;</span>Guid.<span style="">Empty</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">"FullName"</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Return</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"Test User"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List&lt;UserDTO&gt; list = SearchProvider.<span style="">ParseUserData</span><span style="color:#006600; font-weight:bold;">&#40;</span>reader<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.<span style="">IsNotNull</span><span style="color:#006600; font-weight:bold;">&#40;</span>list<span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>
 The re-factored code using the Repeat.Times methods.</p>
<div class="igBar"><span id="lcode-6"><a href="#" onclick="javascript:showCodeTxt('code-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-6">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IDataReader reader = MockRepository.<span style="">GenerateStub</span>&lt;IDataReader&gt;<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x.<span style="">Read</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Return</span><span style="color:#006600; font-weight:bold;">&#40;</span>true<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Repeat</span>.<span style="">Times</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x.<span style="">Read</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Return</span><span style="color:#006600; font-weight:bold;">&#40;</span>false<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">"ID"</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Return</span><span style="color:#006600; font-weight:bold;">&#40;</span>Guid.<span style="">Empty</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span style="">Stub</span><span style="color:#006600; font-weight:bold;">&#40;</span>x =&gt; x<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC0000;">"FullName"</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Return</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"Test User"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List&lt;UserDTO&gt; list = SearchProvider.<span style="">ParseUserData</span><span style="color:#006600; font-weight:bold;">&#40;</span>reader<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Assert.<span style="">IsNotNull</span><span style="color:#006600; font-weight:bold;">&#40;</span>list<span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>You can see how the second code sample is much cleaner than the first. A lot of the messiness of the first code sample comes from talking to the compiler instead of talking to objects. What do I mean by that? Well, in the first example we have to tell the compiler what the delegate should return </p>
<div class="igBar"><span id="lcode-7"><a href="#" onclick="javascript:showCodeTxt('code-7'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-7">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Func&lt;bool&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>You'll also notice some ugliness inside of the delegate body.</p>
<div class="igBar"><span id="lcode-8"><a href="#" onclick="javascript:showCodeTxt('code-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-8">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">m_NumberOfTimesIDataReaderHasBeenCalled++;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">return <span style="color:#006600; font-weight:bold;">&#40;</span>m_NumberOfTimesIDataReaderHasBeenCalled%<span style="color:#800000;color:#800000;">2</span> != <span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>
Here, I was incrementing a class member and checking to see if it was odd or even. If it was even, I'd return true, otherwise I'd return false. This allowed me to control the number of times the IDataReader.Read() method would return true. In this case, it would return true once, then the variable would be incremented to an odd number and the Read method would return false.</p>
<p>That's all part of me telling the compiler what to expect, when what I really want to do is just tell my objects what to do. <a href="http://altnetpodcast.com/episodes/10-oop-in-ruby">This episode of the Alt.net podcast</a> also talks a little bit about class-based programming versus object-oriented programming. </p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;notes=In%20the%20last%20post%2C%20the%20code%20was%20pretty%20clean.%20Our%20resident%20Rhino.Mocks%20guru%20at%20work%2C%20Sean%2C%20left%20a%20comment%20saying%20that%20the%20new%20code%20was%20much%20better%20than%20the%20Do-Func%20stuff%20I%20had%20before.%20Sean%20was%20the%20one%20that%20pointed%20me%20to%20the%20Repeat.Times%20methods%20in%20Rhi" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;bodytext=In%20the%20last%20post%2C%20the%20code%20was%20pretty%20clean.%20Our%20resident%20Rhino.Mocks%20guru%20at%20work%2C%20Sean%2C%20left%20a%20comment%20saying%20that%20the%20new%20code%20was%20much%20better%20than%20the%20Do-Func%20stuff%20I%20had%20before.%20Sean%20was%20the%20one%20that%20pointed%20me%20to%20the%20Repeat.Times%20methods%20in%20Rhi" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;source=Lazycoder+&amp;summary=In%20the%20last%20post%2C%20the%20code%20was%20pretty%20clean.%20Our%20resident%20Rhino.Mocks%20guru%20at%20work%2C%20Sean%2C%20left%20a%20comment%20saying%20that%20the%20new%20code%20was%20much%20better%20than%20the%20Do-Func%20stuff%20I%20had%20before.%20Sean%20was%20the%20one%20that%20pointed%20me%20to%20the%20Repeat.Times%20methods%20in%20Rhi" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;t=Object%20oriented%20programming%20vs.%20class%20oriented%20programming" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;t=Object%20oriented%20programming%20vs.%20class%20oriented%20programming" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;title=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;selection=In%20the%20last%20post%2C%20the%20code%20was%20pretty%20clean.%20Our%20resident%20Rhino.Mocks%20guru%20at%20work%2C%20Sean%2C%20left%20a%20comment%20saying%20that%20the%20new%20code%20was%20much%20better%20than%20the%20Do-Func%20stuff%20I%20had%20before.%20Sean%20was%20the%20one%20that%20pointed%20me%20to%20the%20Repeat.Times%20methods%20in%20Rhi" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F&amp;t=Object%20oriented%20programming%20vs.%20class%20oriented%20programming&amp;s=In%20the%20last%20post%2C%20the%20code%20was%20pretty%20clean.%20Our%20resident%20Rhino.Mocks%20guru%20at%20work%2C%20Sean%2C%20left%20a%20comment%20saying%20that%20the%20new%20code%20was%20much%20better%20than%20the%20Do-Func%20stuff%20I%20had%20before.%20Sean%20was%20the%20one%20that%20pointed%20me%20to%20the%20Repeat.Times%20methods%20in%20Rhi" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Object%20oriented%20programming%20vs.%20class%20oriented%20programming%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F17%2Fobject-oriented-programming-vs-class-oriented-programming%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2008/12/17/object-oriented-programming-vs-class-oriented-programming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New ASP.NET MVC sample &#8211; Oxite &#8211; Needs some TLC</title>
		<link>http://www.lazycoder.com/weblog/2008/12/15/new-aspnet-mvc-sample-oxite-needs-some-tlc/</link>
		<comments>http://www.lazycoder.com/weblog/2008/12/15/new-aspnet-mvc-sample-oxite-needs-some-tlc/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 16:21:16 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[ASPNETMVC MVC WebDevelopment]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1052</guid>
		<description><![CDATA[Last week the MIX online team announced that they are releasing the ASP.NET MVC code that powers their MIX Online blog as open source at CodePlex. This is a great thing. The code base, while touted as a "a real-world sample written using ASP.NET MVC.", is not without some problems. The commentary on Twitter soon [...]]]></description>
			<content:encoded><![CDATA[<p>Last week the <a href="http://visitmix.com/Lab/Oxite">MIX online team announced that they are releasing the ASP.NET MVC code that powers their MIX Online blog as open source</a> at <a href="http://www.codeplex.com/oxite">CodePlex</a>. This is a great thing.</p>
<p>The code base, while touted as a "<a href="http://www.codeplex.com/oxite">a real-world sample written using ASP.NET MVC.</a>", is not without some problems. The commentary on Twitter soon after it's release was pretty negative.</p>
<p><a href="http://twitter.com/nkohari/statuses/1058691957"></p>
<blockquote><p>This is why Oxite is not good. <a href="http://pastie.org/339644">http://pastie.org/339644</a></p></blockquote>
<p></a></p>
<p><a href="http://twitter.com/subdigital/statuses/1058656762"></p>
<blockquote><p>browsing the Oxite source... wondering how many people will try to learn from this mess</p></blockquote>
<p></a></p>
<p><a href="http://twitter.com/bellware/statuses/1057254638"></p>
<blockquote><p>@robconery because microsoft doesn't deal with foibles with courage, i expect oxite will be allowed to degrade yet more customer potential</p></blockquote>
<p></a></p>
<p><a href="http://twitter.com/fredrik_k/statuses/1057055280"></p>
<blockquote><p>Oxite source is being slaughtered by the alt.net crowd; sad thing is, since its by MS others will use it as guidance on how to do MVC</p></blockquote>
<p></a></p>
<p><a href="http://twitter.com/DerikWhittaker/statuses/1055751880"></p>
<blockquote><p>@cwoodruff please, please, please do not use Oxite as a guide when doing MVC... PLEASE DO NOT</p></blockquote>
<p></a></p>
<p><a href="http://twitter.com/simonech/status/1058754441"></p>
<blockquote><p>@lazycoder if u read the code, it's actually a collection of anti-patterns of MVC... I hope people are not going to learn from it</p></blockquote>
<p></a></p>
<p><a href="http://blog.wekeroad.com">Rob Conery</a> has a great post where he outlines some of the <a href="http://blog.wekeroad.com/blog/some-thoughts-on-oxite/">issues with the Oxite code base </a>and how they can be fixed. He has already offered some patches to the team.</p>
<p>That's what I mean when I say this is a great thing. Since the team is doing all their work out in the open, we get to see how it evolves. I fear that a lot of the ASP.NET MVC code that we see written the first few years after it is released will look very similar to the Oxite code. Hopefully, the refactoring of the code base into something that embraces the strengths of MVC will be done in public as well so that first time MVC developers who find themselves writing the same code that the Oxite team has will have a lot of resources available.</p>
<p>I'd encourage everyone interested in the ASP.NET MVC product to watch the evolution of Oxite closely and contribute to the development.(1)</p>
<p><em>(1) That doesn't include me for quite some time as we're getting ready to have a baby soon. You don't want to see code I've written on only 4 hours sleep over two days.</em> <img src='http://www.lazycoder.com/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;notes=Last%20week%20the%20MIX%20online%20team%20announced%20that%20they%20are%20releasing%20the%20ASP.NET%20MVC%20code%20that%20powers%20their%20MIX%20Online%20blog%20as%20open%20source%20at%20CodePlex.%20This%20is%20a%20great%20thing.%0D%0A%0D%0AThe%20code%20base%2C%20while%20touted%20as%20a%20%22a%20real-world%20sample%20written%20using%20ASP.NET%20M" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;bodytext=Last%20week%20the%20MIX%20online%20team%20announced%20that%20they%20are%20releasing%20the%20ASP.NET%20MVC%20code%20that%20powers%20their%20MIX%20Online%20blog%20as%20open%20source%20at%20CodePlex.%20This%20is%20a%20great%20thing.%0D%0A%0D%0AThe%20code%20base%2C%20while%20touted%20as%20a%20%22a%20real-world%20sample%20written%20using%20ASP.NET%20M" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;source=Lazycoder+&amp;summary=Last%20week%20the%20MIX%20online%20team%20announced%20that%20they%20are%20releasing%20the%20ASP.NET%20MVC%20code%20that%20powers%20their%20MIX%20Online%20blog%20as%20open%20source%20at%20CodePlex.%20This%20is%20a%20great%20thing.%0D%0A%0D%0AThe%20code%20base%2C%20while%20touted%20as%20a%20%22a%20real-world%20sample%20written%20using%20ASP.NET%20M" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;t=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;t=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;title=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;selection=Last%20week%20the%20MIX%20online%20team%20announced%20that%20they%20are%20releasing%20the%20ASP.NET%20MVC%20code%20that%20powers%20their%20MIX%20Online%20blog%20as%20open%20source%20at%20CodePlex.%20This%20is%20a%20great%20thing.%0D%0A%0D%0AThe%20code%20base%2C%20while%20touted%20as%20a%20%22a%20real-world%20sample%20written%20using%20ASP.NET%20M" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F&amp;t=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC&amp;s=Last%20week%20the%20MIX%20online%20team%20announced%20that%20they%20are%20releasing%20the%20ASP.NET%20MVC%20code%20that%20powers%20their%20MIX%20Online%20blog%20as%20open%20source%20at%20CodePlex.%20This%20is%20a%20great%20thing.%0D%0A%0D%0AThe%20code%20base%2C%20while%20touted%20as%20a%20%22a%20real-world%20sample%20written%20using%20ASP.NET%20M" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=New%20ASP.NET%20MVC%20sample%20-%20Oxite%20-%20Needs%20some%20TLC%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F12%2F15%2Fnew-aspnet-mvc-sample-oxite-needs-some-tlc%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2008/12/15/new-aspnet-mvc-sample-oxite-needs-some-tlc/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>I&#8217;m in the Alt.net podcast on jQuery</title>
		<link>http://www.lazycoder.com/weblog/2008/10/08/im-in-the-altnet-podcast-on-jquery/</link>
		<comments>http://www.lazycoder.com/weblog/2008/10/08/im-in-the-altnet-podcast-on-jquery/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 21:50:21 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[microsoft jquery podcast javascript]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=1011</guid>
		<description><![CDATA[jQuery in ASP.NET Mike Moore was kind enough to invite me on the alt.net podcast to talk about the recent jQuery announcement by Microsoft. Chris Brandsma, Rick Strahl, Dave Ward, Bertrand Le Roy, and Steven Harman were also on the podcast. This was a great discussion. It was especially nice to have Bertrand during the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://altnetpodcast.com/episodes/11-jquery-in-asp.net">jQuery in ASP.NET</a></p>
<p><a href="http://blowmage.com/">Mike Moore</a> was kind enough to invite me on the <a href="http://altnetpodcast.com/">alt.net podcast</a> to talk about the recent jQuery announcement by Microsoft. <a href="http://www.chrisbrandsma.com/">Chris Brandsma</a>, <a href="http://www.west-wind.com/weblog/">Rick Strahl</a>, <a href="http://encosia.com/">Dave Ward</a>, <a href="http://weblogs.asp.net/Bleroy/">Bertrand Le Roy</a>, and <a href="http://stevenharman.net/">Steven Harman</a> were also on the podcast.</p>
<p>This was a great discussion. It was especially nice to have Bertrand during the discussion. If we had any questions about how or why Microsoft did something, we could ask him. I was happy to hear that one of the reasons they chose jQuery was because they didn't want to write their own <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym> selector functions for MS <acronym title='Asynchronous Javascript and XML'><span class='caps'>AJAX</span></acronym>. It's nice to see that Microsoft sees the benefit in not always reinventing the wheel. Now, any new features or improvements that Microsoft would have made to their own selector engine can be contributed towards jQuery, making it a better product for all of us.</p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;notes=jQuery%20in%20ASP.NET%0D%0A%0D%0AMike%20Moore%20was%20kind%20enough%20to%20invite%20me%20on%20the%20alt.net%20podcast%20to%20talk%20about%20the%20recent%20jQuery%20announcement%20by%20Microsoft.%20Chris%20Brandsma%2C%20Rick%20Strahl%2C%20Dave%20Ward%2C%20Bertrand%20Le%20Roy%2C%20and%20Steven%20Harman%20were%20also%20on%20the%20podcast.%0D%0A%0D%0AThi" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;bodytext=jQuery%20in%20ASP.NET%0D%0A%0D%0AMike%20Moore%20was%20kind%20enough%20to%20invite%20me%20on%20the%20alt.net%20podcast%20to%20talk%20about%20the%20recent%20jQuery%20announcement%20by%20Microsoft.%20Chris%20Brandsma%2C%20Rick%20Strahl%2C%20Dave%20Ward%2C%20Bertrand%20Le%20Roy%2C%20and%20Steven%20Harman%20were%20also%20on%20the%20podcast.%0D%0A%0D%0AThi" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;source=Lazycoder+&amp;summary=jQuery%20in%20ASP.NET%0D%0A%0D%0AMike%20Moore%20was%20kind%20enough%20to%20invite%20me%20on%20the%20alt.net%20podcast%20to%20talk%20about%20the%20recent%20jQuery%20announcement%20by%20Microsoft.%20Chris%20Brandsma%2C%20Rick%20Strahl%2C%20Dave%20Ward%2C%20Bertrand%20Le%20Roy%2C%20and%20Steven%20Harman%20were%20also%20on%20the%20podcast.%0D%0A%0D%0AThi" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;t=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;t=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;title=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;selection=jQuery%20in%20ASP.NET%0D%0A%0D%0AMike%20Moore%20was%20kind%20enough%20to%20invite%20me%20on%20the%20alt.net%20podcast%20to%20talk%20about%20the%20recent%20jQuery%20announcement%20by%20Microsoft.%20Chris%20Brandsma%2C%20Rick%20Strahl%2C%20Dave%20Ward%2C%20Bertrand%20Le%20Roy%2C%20and%20Steven%20Harman%20were%20also%20on%20the%20podcast.%0D%0A%0D%0AThi" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F&amp;t=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery&amp;s=jQuery%20in%20ASP.NET%0D%0A%0D%0AMike%20Moore%20was%20kind%20enough%20to%20invite%20me%20on%20the%20alt.net%20podcast%20to%20talk%20about%20the%20recent%20jQuery%20announcement%20by%20Microsoft.%20Chris%20Brandsma%2C%20Rick%20Strahl%2C%20Dave%20Ward%2C%20Bertrand%20Le%20Roy%2C%20and%20Steven%20Harman%20were%20also%20on%20the%20podcast.%0D%0A%0D%0AThi" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=I%27m%20in%20the%20Alt.net%20podcast%20on%20jQuery%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F10%2F08%2Fim-in-the-altnet-podcast-on-jquery%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2008/10/08/im-in-the-altnet-podcast-on-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Herding Code #18 &#8211; F# with Matt Podwysocki</title>
		<link>http://www.lazycoder.com/weblog/2008/09/23/herding-code-18-f-with-matt-podwysocki/</link>
		<comments>http://www.lazycoder.com/weblog/2008/09/23/herding-code-18-f-with-matt-podwysocki/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 16:01:09 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[fSharp]]></category>
		<category><![CDATA[functionalprogramming]]></category>
		<category><![CDATA[herdingcode]]></category>
		<category><![CDATA[mattpodwysockirules]]></category>
		<category><![CDATA[podcast]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=995</guid>
		<description><![CDATA[We posted episode 18 last week. It's a great overview of F# and functional programming with Matt Podwysocki. Matt has a great love for F#. We wanted to do a show about F# that was a little more than just talking about F# itself and cover more about what functional programming is and why it's [...]]]></description>
			<content:encoded><![CDATA[<p>We posted episode 18 last week. It's a great <a href="http://herdingcode.com/?p=45">overview of F# and functional programming </a>with <a href="http://codebetter.com/blogs/matthew.podwysocki/default.aspx">Matt Podwysocki</a>. Matt has a great love for F#. We wanted to do a show about F# that was a little more than just talking about F# itself and cover more about what functional programming is and why it's important. </p>
<p>Some topics we cover in the podcast:</p>
<ul>
<li>What is functional programming, and why should we care?</li>
<li>Types of applications that would and wouldn’t benefit from F#</li>
<li>How F# differs from C# 3.x and Javascript</li>
<li>How F# is being used (games, scripting, data analysis and scrubbing, etc.)</li>
<li> F# pattern matching</li>
<li>Using F# in your C# or VB based applications today</li>
<li>Getting started: F# Interactive, reading the F# source, books and resources</li>
<li>Interaction with DLR</li>
<li>Functional features we’d like to see in C# and VB</li>
<li> Spec# and Sing#</li>
</ul>
<p>The post containing the podcast is turning into a great resource if you are interested in Functional Programming and F#. Matt provided us with a lot of links and we've been adding new links as we find them. If you know of any Functional Programming or F# links, feel free to leave them in the comments here or at the Herding Code post.</p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;notes=We%20posted%20episode%2018%20last%20week.%20It%27s%20a%20great%20overview%20of%20F%23%20and%20functional%20programming%20with%20Matt%20Podwysocki.%20Matt%20has%20a%20great%20love%20for%20F%23.%20We%20wanted%20to%20do%20a%20show%20about%20F%23%20that%20was%20a%20little%20more%20than%20just%20talking%20about%20F%23%20itself%20and%20cover%20more%20about%20w" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;bodytext=We%20posted%20episode%2018%20last%20week.%20It%27s%20a%20great%20overview%20of%20F%23%20and%20functional%20programming%20with%20Matt%20Podwysocki.%20Matt%20has%20a%20great%20love%20for%20F%23.%20We%20wanted%20to%20do%20a%20show%20about%20F%23%20that%20was%20a%20little%20more%20than%20just%20talking%20about%20F%23%20itself%20and%20cover%20more%20about%20w" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;source=Lazycoder+&amp;summary=We%20posted%20episode%2018%20last%20week.%20It%27s%20a%20great%20overview%20of%20F%23%20and%20functional%20programming%20with%20Matt%20Podwysocki.%20Matt%20has%20a%20great%20love%20for%20F%23.%20We%20wanted%20to%20do%20a%20show%20about%20F%23%20that%20was%20a%20little%20more%20than%20just%20talking%20about%20F%23%20itself%20and%20cover%20more%20about%20w" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;t=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;t=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;title=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;selection=We%20posted%20episode%2018%20last%20week.%20It%27s%20a%20great%20overview%20of%20F%23%20and%20functional%20programming%20with%20Matt%20Podwysocki.%20Matt%20has%20a%20great%20love%20for%20F%23.%20We%20wanted%20to%20do%20a%20show%20about%20F%23%20that%20was%20a%20little%20more%20than%20just%20talking%20about%20F%23%20itself%20and%20cover%20more%20about%20w" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F&amp;t=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki&amp;s=We%20posted%20episode%2018%20last%20week.%20It%27s%20a%20great%20overview%20of%20F%23%20and%20functional%20programming%20with%20Matt%20Podwysocki.%20Matt%20has%20a%20great%20love%20for%20F%23.%20We%20wanted%20to%20do%20a%20show%20about%20F%23%20that%20was%20a%20little%20more%20than%20just%20talking%20about%20F%23%20itself%20and%20cover%20more%20about%20w" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Herding%20Code%20%2318%20-%20F%23%20with%20Matt%20Podwysocki%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F09%2F23%2Fherding-code-18-f-with-matt-podwysocki%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2008/09/23/herding-code-18-f-with-matt-podwysocki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why can&#8217;t you declare a static method in an interface?</title>
		<link>http://www.lazycoder.com/weblog/2008/05/20/why-cant-you-declare-a-static-method-in-an-interface/</link>
		<comments>http://www.lazycoder.com/weblog/2008/05/20/why-cant-you-declare-a-static-method-in-an-interface/#comments</comments>
		<pubDate>Tue, 20 May 2008 18:00:04 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[designtime]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/?p=947</guid>
		<description><![CDATA[I've stated on Twitter a couple of times that I'd like to be able to declare static methods as part of my interface. My reasoning is: If an interface defines a contract in my code, why can't a static method be part of that contract? PLAIN TEXT CODE: public interface ITryStatic &#123; &#160; &#160; static [...]]]></description>
			<content:encoded><![CDATA[<p>I've stated on Twitter a couple of times that I'd like to be able to declare static methods as part of my interface. My reasoning is: If an interface defines a contract in my code, why can't a static method be part of that contract?</p>
<div class="igBar"><span id="lcode-11"><a href="#" onclick="javascript:showCodeTxt('code-11'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-11">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">public interface ITryStatic <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; static void Foo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; void Bar<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>I found a <a href="http://www.jguru.com/faq/view.jsp?EID=88225">great answer over in this forum</a>.</p>
<p>In both Java and .NET, classes can only inherit from one class but a class can implement multiple interfaces. So consider the following code.</p>
<div class="igBar"><span id="lcode-12"><a href="#" onclick="javascript:showCodeTxt('code-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-12">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">public interface ITryStatic <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; static void Foo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">public interface ITryAnotherStatic <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; static void Foo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">public class Whoops : ITryStatic, ITryAnotherStatic <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; public static void Foo<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> printline<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">"Foo"</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ITryStatic staticWhoops;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">staticWhoops.<span style="">Foo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#FF9933; font-style:italic;">//which one does it try? It doesn't matter since there's no code to run.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#40;</span>Whoops<span style="color:#006600; font-weight:bold;">&#41;</span>staticWhoops<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="">Foo</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#FF9933; font-style:italic;">//Sure, but it defeats the purpose of using an interface. </span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Essentially the answer is: The compiler tries to run the code specified by the static method in a class. Since an interface doesn't provide an implementation details, there is nothing to run. You could, if the compiler would let you, cast the interface to the concrete type that's actually being represented. But that defeats the purpose of declaring an using an interface.</p>
<p>I do wonder if <a href="http://en.wikipedia.org/wiki/Type_inference">type inference</a> could be used to route around this problem?</p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;notes=I%27ve%20stated%20on%20Twitter%20a%20couple%20of%20times%20that%20I%27d%20like%20to%20be%20able%20to%20declare%20static%20methods%20as%20part%20of%20my%20interface.%20My%20reasoning%20is%3A%20If%20an%20interface%20defines%20a%20contract%20in%20my%20code%2C%20why%20can%27t%20a%20static%20method%20be%20part%20of%20that%20contract%3F%0D%0A%0D%0A%5Bcode%5D%0D%0Apublic" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;bodytext=I%27ve%20stated%20on%20Twitter%20a%20couple%20of%20times%20that%20I%27d%20like%20to%20be%20able%20to%20declare%20static%20methods%20as%20part%20of%20my%20interface.%20My%20reasoning%20is%3A%20If%20an%20interface%20defines%20a%20contract%20in%20my%20code%2C%20why%20can%27t%20a%20static%20method%20be%20part%20of%20that%20contract%3F%0D%0A%0D%0A%5Bcode%5D%0D%0Apublic" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;source=Lazycoder+&amp;summary=I%27ve%20stated%20on%20Twitter%20a%20couple%20of%20times%20that%20I%27d%20like%20to%20be%20able%20to%20declare%20static%20methods%20as%20part%20of%20my%20interface.%20My%20reasoning%20is%3A%20If%20an%20interface%20defines%20a%20contract%20in%20my%20code%2C%20why%20can%27t%20a%20static%20method%20be%20part%20of%20that%20contract%3F%0D%0A%0D%0A%5Bcode%5D%0D%0Apublic" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;t=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;t=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;title=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;selection=I%27ve%20stated%20on%20Twitter%20a%20couple%20of%20times%20that%20I%27d%20like%20to%20be%20able%20to%20declare%20static%20methods%20as%20part%20of%20my%20interface.%20My%20reasoning%20is%3A%20If%20an%20interface%20defines%20a%20contract%20in%20my%20code%2C%20why%20can%27t%20a%20static%20method%20be%20part%20of%20that%20contract%3F%0D%0A%0D%0A%5Bcode%5D%0D%0Apublic" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F&amp;t=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F&amp;s=I%27ve%20stated%20on%20Twitter%20a%20couple%20of%20times%20that%20I%27d%20like%20to%20be%20able%20to%20declare%20static%20methods%20as%20part%20of%20my%20interface.%20My%20reasoning%20is%3A%20If%20an%20interface%20defines%20a%20contract%20in%20my%20code%2C%20why%20can%27t%20a%20static%20method%20be%20part%20of%20that%20contract%3F%0D%0A%0D%0A%5Bcode%5D%0D%0Apublic" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Why%20can%27t%20you%20declare%20a%20static%20method%20in%20an%20interface%3F%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F05%2F20%2Fwhy-cant-you-declare-a-static-method-in-an-interface%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2008/05/20/why-cant-you-declare-a-static-method-in-an-interface/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Languages Considered Helpful</title>
		<link>http://www.lazycoder.com/weblog/2008/04/07/new-languages-considered-helpful/</link>
		<comments>http://www.lazycoder.com/weblog/2008/04/07/new-languages-considered-helpful/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 16:07:20 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Languages]]></category>

		<guid isPermaLink="false">http://www.lazycoder.com/weblog/index.php/archives/2008/04/07/new-languages-considered-helpful/</guid>
		<description><![CDATA[&#160; New Languages Considered Harmful I can't disagree more with this post.(1) There's no research or study that shows that learning impedes further learning. Once you learn how to program, moving between languages becomes easier. Every language has some kind of flow control syntax, some way to declare a variable, and some way to encapsulate [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://duartes.org/gustavo/blog/post/2008/04/02/New-Languages-Considered-Harmful.aspx">New Languages Considered Harmful</a> </p>
<p>I can't disagree more with this post.(<em>1</em>) There's no research or study that shows that learning impedes further learning. Once you learn how to program, moving between languages becomes easier. Every language has some kind of flow control syntax, some way to declare a variable, and some way to encapsulate code. You do have to <a href="http://twitter.com/mattpodwysocki/statuses/782611976" target="_blank">think a little differently if you switch between <acronym title='Object Oriented Programming'><span class='caps'>OOP</span></acronym>, functional, and procedural languages</a>. But even <a href="http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Conditionals.html" target="_blank">Scheme has an if-else statement</a>. It doesn't take much effort to learn a new language, but it does take a lot of <a href="http://norvig.com/21-days.html" target="_blank">effort to master a programming language</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><em>1. I think I could disagree more with this post if I really tried, but I know I disagree enough to make a post.</em></p>



Share and Enjoy:


	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful&amp;notes=%26nbsp%3B%20New%20Languages%20Considered%20Harmful%20%20I%20can%27t%20disagree%20more%20with%20this%20post.%281%29%20There%27s%20no%20research%20or%20study%20that%20shows%20that%20learning%20impedes%20further%20learning.%20Once%20you%20learn%20how%20to%20program%2C%20moving%20between%20languages%20becomes%20easier.%20Every%20language%20h" title="del.icio.us"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful" title="DotNetKicks"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dotnetkicks.png" title="DotNetKicks" alt="DotNetKicks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful" title="DZone"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful" title="Reddit"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful&amp;bodytext=%26nbsp%3B%20New%20Languages%20Considered%20Harmful%20%20I%20can%27t%20disagree%20more%20with%20this%20post.%281%29%20There%27s%20no%20research%20or%20study%20that%20shows%20that%20learning%20impedes%20further%20learning.%20Once%20you%20learn%20how%20to%20program%2C%20moving%20between%20languages%20becomes%20easier.%20Every%20language%20h" title="Digg"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful" title="StumbleUpon"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful&amp;source=Lazycoder+&amp;summary=%26nbsp%3B%20New%20Languages%20Considered%20Harmful%20%20I%20can%27t%20disagree%20more%20with%20this%20post.%281%29%20There%27s%20no%20research%20or%20study%20that%20shows%20that%20learning%20impedes%20further%20learning.%20Once%20you%20learn%20how%20to%20program%2C%20moving%20between%20languages%20becomes%20easier.%20Every%20language%20h" title="LinkedIn"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;t=New%20Languages%20Considered%20Helpful" title="Facebook"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=New%20Languages%20Considered%20Helpful&amp;link=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F" title="FriendFeed"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;t=New%20Languages%20Considered%20Helpful" title="HackerNews"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=New%20Languages%20Considered%20Helpful&amp;url=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F" title="Netvibes"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://posterous.com/share?linkto=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;title=New%20Languages%20Considered%20Helpful&amp;selection=%26nbsp%3B%20New%20Languages%20Considered%20Harmful%20%20I%20can%27t%20disagree%20more%20with%20this%20post.%281%29%20There%27s%20no%20research%20or%20study%20that%20shows%20that%20learning%20impedes%20further%20learning.%20Once%20you%20learn%20how%20to%20program%2C%20moving%20between%20languages%20becomes%20easier.%20Every%20language%20h" title="Posterous"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/posterous.png" title="Posterous" alt="Posterous" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F&amp;t=New%20Languages%20Considered%20Helpful&amp;s=%26nbsp%3B%20New%20Languages%20Considered%20Harmful%20%20I%20can%27t%20disagree%20more%20with%20this%20post.%281%29%20There%27s%20no%20research%20or%20study%20that%20shows%20that%20learning%20impedes%20further%20learning.%20Once%20you%20learn%20how%20to%20program%2C%20moving%20between%20languages%20becomes%20easier.%20Every%20language%20h" title="Tumblr"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=New%20Languages%20Considered%20Helpful%20-%20http%3A%2F%2Fwww.lazycoder.com%2Fweblog%2F2008%2F04%2F07%2Fnew-languages-considered-helpful%2F" title="Twitter"><img src="http://www.lazycoder.com/weblog/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.lazycoder.com/weblog/2008/04/07/new-languages-considered-helpful/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
