<?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>devgrind &#187; typesystems</title>
	<atom:link href="http://devgrind.com/tag/typesystems/feed/" rel="self" type="application/rss+xml" />
	<link>http://devgrind.com</link>
	<description>thinking outside the { }</description>
	<lastBuildDate>Tue, 04 May 2010 17:25:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ruby &amp; Me: No More Static Typing Zealotry</title>
		<link>http://devgrind.com/2007/03/13/ruby-me-no-more-static-typing-zealotry/</link>
		<comments>http://devgrind.com/2007/03/13/ruby-me-no-more-static-typing-zealotry/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 16:45:27 +0000</pubDate>
		<dc:creator>Arne</dc:creator>
				<category><![CDATA[languages]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[typesystems]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://devgrind.com/2007/03/13/ruby-me-no-more-static-typing-zealotry/</guid>
		<description><![CDATA[Note: This is part II of an ongoing series on the programming language Ruby.

In August 2005, I wrote in my personal blog (german):

Now, after hacking PHP for virtually twelve hours a day the last three weeks (with a few exceptions), I know that this language isn&#8217;t suited for people with a sensitive mind like mine. [...]]]></description>
			<content:encoded><![CDATA[<p><em>Note: This is part II of an ongoing series on the programming language Ruby.</em></p>
<p>
In August 2005, <a href="http://www.blogwerk.de/?p=98">I wrote in my personal blog</a> (german):</p>
<blockquote><p>
Now, after hacking PHP for virtually twelve hours a day the last three weeks (with a few exceptions), I know that this language isn&#8217;t suited for people with a sensitive mind like mine. Its a particularly bad idea to begin by dumping out some quick &amp; dirty code and then refactor this into a clean Model-View-Controller application (I think I have to read up on agile software development). PHP&#8217;s type-free variables together with my own web framework, which uses HTTP request and session as a shared hashtable for beans (like Model 2/Struts, naive, I know, &#8230;), lead to sheer debugging horror. After this I resolved to return to the world of static typing.
</p></blockquote>
<p>So I actually wanted to get back to Java &#8212; or any other statically typed language offering a sufficiently powerful and elegant (!) web framework. Because, yes, I was a static typing zealot, and I wanted to get home and snuggle up in the comfortable warmth of the static typing safety net. But this didn&#8217;t happen (for web development), for two reasons.</p>
<p>The first reason is that by developing MyVeryOwnWebFramework<sup>TM</sup> in PHP I learned an important lesson about <strike>scripting</strike> dynamically typed languages: under particular circumstances the flexibility of these languages can actually support elegance in a way statically typed languages can&#8217;t, e.g. for following the <em>convention over configuration</em> principle. And this is one of the areas where Ruby and Rails just excel, as we will see later in this series. What *I* did was developing PHP code in an idiomatic style borrowed from Java &#8212; what did I expect?</p>
<p>The other reason is that I discovered the concept of <a href="http://www.cincomsmalltalk.com/userblogs/avi/blogView?entry=3258414140">modal web frameworks</a> which appealed to me as a very elegant approach and, again, couldn&#8217;t be done in Java. So after doing some research and taking sneak peeks into several languages and frameworks, such as <a href="http://www.seaside.st/">Seaside</a> for Smalltalk and some other framework I can&#8217;t remember for <a href="http://haskell.org/haskellwiki/Haskell">Haskell</a>, I decided to learn Ruby because it has a rapidly growing base of supporters and there&#8217;s already a modal web framework for Ruby called <a href="http://rubyforge.org/projects/wee">Wee</a>.</p>
<p>So actually Rails wasn&#8217;t even my main reason to making the switch to Ruby, yet it was the first thing I played with, perhaps due to the mass of training material available on the web. And I got stuck with it, because Rails immediate me taught me <em>what</em> makes Ruby cool. Thus, in the next episode of this series I will point out some of Ruby&#8217;s features that make me love this language.</p>
]]></content:encoded>
			<wfw:commentRss>http://devgrind.com/2007/03/13/ruby-me-no-more-static-typing-zealotry/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
