<?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>Über Software &#187; programming languages</title>
	<atom:link href="http://www.uebersoftware.com/category/programming-languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.uebersoftware.com</link>
	<description>Opinions and thoughts on Software and Technology.</description>
	<lastBuildDate>Thu, 29 Apr 2010 06:04:30 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Programmer&#8217;s New Year&#8217;s Resolution for 2010: Learning Scala</title>
		<link>http://www.uebersoftware.com/2010/01/a-programmers-new-years-resolution-for-2010-learning-scala/</link>
		<comments>http://www.uebersoftware.com/2010/01/a-programmers-new-years-resolution-for-2010-learning-scala/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 00:23:15 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Distractions]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://www.uebersoftware.com/?p=198</guid>
		<description><![CDATA[In a world of constant change and ever increasing speed of innovation as a programmer, you might sit back and think about how to prepare for those changes and increase your career options. You might also look forward to a mental distraction from the daily Java/Ruby/PHP routine, or your inner geek is just looking for [...]]]></description>
			<content:encoded><![CDATA[<p>In a world of constant change and ever increasing speed of innovation as a programmer, you might sit back and think about how to prepare for those changes and increase your career options. You might also look forward to a mental distraction from the daily Java/Ruby/PHP routine, or your inner geek is just looking for the next big thing.</p>
<p>So without further ado and <a href="http://www.rubyinside.com/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html">fanboy-ing </a> here&#8217;s why I want to do it.</p>
<p><strong>Scala</strong><br />
I first heard of Scala about an year ago in an article in the German Java Magazin. What caught my attention was that it was designed by a) a Swiss researcher (awakening to my national pride <img src='http://www.uebersoftware.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) and b) that <a target="_top" href="http://lampwww.epfl.ch/~odersky/">Martin Odersky</a> wrote the reference compiler for Java 1.5, and c) that the Twitter (messaging) backend at that time had just moved to Scala. </p>
<p>Scala is a general purpose programming language, statically typed and integrates features of object-oriented and functional languages.</p>
<p>Some properties Scala offers: </p>
<ul>
<li>Runs on JVM: Scala is byte code compatible with Java and can therefore be used in combination with existing Java Libraries.</li>
<li>Combines functional with oo: Scala can take advantage of best of both worlds</li>
<li>Eases concurrency, scalablility: A certain amount of functional programming is inevitable, if multicore computers should be used efficiently.</li>
<li>Reduces code size by 2-4 compared to Java: Less code tends to require less work writing and maintaining it and also tends to have fewer defaults.</li>
<li>Particular use cases include Complex XML Processing, Concurrent programming, DSL</li>
</ul>
<p>Within the <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">TIOBE index </a> Scala is at #33. There&#8217;s a lot of controversy if scala will be the next big thing. Some very well rounded arguments pro and contra. But as an old saying goes in German &#8220;Probieren geht über studieren&#8221;  I choose to set off trying it myself for a private project or two. Stay tuned for the learning scala series.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uebersoftware.com/2010/01/a-programmers-new-years-resolution-for-2010-learning-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The old-school Objective C is approaching top 10</title>
		<link>http://www.uebersoftware.com/2009/12/the-old-school-objective-c-is-approaching-top-10/</link>
		<comments>http://www.uebersoftware.com/2009/12/the-old-school-objective-c-is-approaching-top-10/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 23:22:41 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[mobile development]]></category>
		<category><![CDATA[programming languages]]></category>

		<guid isPermaLink="false">http://www.uebersoftware.com/?p=188</guid>
		<description><![CDATA[From time to time I check the index of the most popular programming languages by tiobe, check out how popular the old-school Objective-C is becoming!
Given that this language is very old school, it makes me wonder what would have happended to the Appshop and Apple if they opened the Shop for Java, PHP or Python?
]]></description>
			<content:encoded><![CDATA[<p>From time to time I check the <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank">index of the most popular programming languages</a> by tiobe, check out how popular the old-school Objective-C is becoming!</p>
<p>Given that this language is very old school, it makes me wonder what would have happended to the Appshop and Apple if they opened the Shop for Java, PHP or Python?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uebersoftware.com/2009/12/the-old-school-objective-c-is-approaching-top-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Long development cycles of compiled languages &#8211; the real killer</title>
		<link>http://www.uebersoftware.com/2009/09/development-cycles-of-compiled-languages/</link>
		<comments>http://www.uebersoftware.com/2009/09/development-cycles-of-compiled-languages/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:24:20 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://www.uebersoftware.com/?p=83</guid>
		<description><![CDATA[Ever asked yourself what are the reasons for the rise of scripting  languages like PHP, Ruby, Groovy for web development in the last couple of years? Let&#8217;s take the concrete case of Java. Common critiques of the language and the API&#8217;s, and the J2EE/JEE frameworks were/are in a loose historical order:

performance &#8211; too slow: this [...]]]></description>
			<content:encoded><![CDATA[<p>Ever asked yourself what are the reasons for the rise of scripting  languages like PHP, Ruby, Groovy for web development in the last couple of years? Let&#8217;s take the concrete case of Java. Common critiques of the language and the API&#8217;s, and the J2EE/JEE frameworks were/are in a loose historical order:</p>
<ul>
<li>performance &#8211; too slow: this was quite a while ago. JVM&#8217;s are very fast nowadays</li>
<li>bloated: still true for some aspects. E.g. no closures (still..)</li>
<li>too complex &amp; heavyweight, meaning too many dependencies to setup and take care of. Especially for J2EE this was the case. JEE changed a lot here.</li>
</ul>
<p>The list could go on, but is mostly centered on those arguments which are however mostly referring older releases of the language and its libraries. Nowadays JEE is actually very lightweight, has a great set of tools that speed up app development and is lighening fast. With the advance of tooling support, common IDE&#8217;s  make it irrelevant if you have to generate setters and getters (bloated?) or not, and enable refactoring of code with a button click.</p>
<p>When you compare the (web)framework support between Java and interpreted scripting languages Java has learned a lot from past mistakes with J2EE 1.2-1.4.  CoC (Convention over Configuration), DRY (Don&#8217;t repeat yourself), Scaffolding, etc. can be found in Java frameworks just as in RoR. I don&#8217;t think that there&#8217;s a general winner &#8211; this really depends on the task and situation at hand.</p>
<p>Then there&#8217;s dynamic types vs. static types. There are pro and cons for both here, I prefer static typed to detect errors early at development time.</p>
<p>I claim that the real reason for the continued success of scripting languages are the faster development cycles. Especially there is no compilation, un- and redeployment needed. This speeds up development considerably and enables more trial and error coding if you feel like &#8211; though better do white-box testing.</p>
<p>Apart from that I cannot see any real advantage of interpreted languages today especially in compare to Java. The JVM is some of the most advanced piece of technology we have today: robust, scales, understood and has many mature implementations on all platforms.</p>
<p>What is your preferred language and why?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uebersoftware.com/2009/09/development-cycles-of-compiled-languages/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
