<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Are dynamic languages just a temporary workaround?</title>
	<atom:link href="http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/feed/" rel="self" type="application/rss+xml" />
	<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/</link>
	<description>A bit of this, a bit of that and a lot about computers</description>
	<lastBuildDate>Wed, 10 Mar 2010 04:49:35 +0100</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Kazimir Majorinc</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-3013</link>
		<dc:creator>Kazimir Majorinc</dc:creator>
		<pubDate>Sat, 28 Nov 2009 08:19:48 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-3013</guid>
		<description>From my point of view - I do not need any kind of debugging help from programming language. I do not need static typing, lexical scope, asserts, contracts ... I need only expressive power, and if I&#039;ll need some debugging help, I&#039;ll take care about that. 

I understand that other people have other priorities, so it is only an illustration of possible opinion.</description>
		<content:encoded><![CDATA[<p>From my point of view &#8211; I do not need any kind of debugging help from programming language. I do not need static typing, lexical scope, asserts, contracts &#8230; I need only expressive power, and if I&#8217;ll need some debugging help, I&#8217;ll take care about that. </p>
<p>I understand that other people have other priorities, so it is only an illustration of possible opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RogerV</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2995</link>
		<dc:creator>RogerV</dc:creator>
		<pubDate>Fri, 27 Nov 2009 19:54:08 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2995</guid>
		<description>Go has the benefit of static type checking and type inference as well for eliminating unnecessary syntactic cruft.

Unlike Perl and Python, or other scripting language solution approaches, it blazingly compiles/links into a single executable for ease of deployment to the end user.

Deploying script languages solutions to end users is just a mess. You have to insure the user has the right runtime version and often times they&#039;ll need certain C libraries to be installed too, and then for complex apps/tools, there may be many script files involved and you have to deliver the app in such a way that none of the package/module references get screwed up at runtime. Or else buy a commercial SDK from ActiveState to roll Perl or Python apps into a single executable (which, doing that with such solutions is still not a simple endeavour).

The shear simplicity of the Go approach (static linking) is a breadth of fresh air relative to the scripting languages. Plus the compile/link process is lightening fast.

The crown jewels of Go, though, tend to be the goroutines and channels approach to concurrency programming. Facilitating robust, scalable, and low boiler plate concurrent programming will be important in programming languages going forward. Go will be stellar in this regard.

Plus the approach to OOP in Go is rather interesting and refreshing too.

Alas, Go is so young that there&#039;s not (to my knowledge) any IDE support that does code completion yet.</description>
		<content:encoded><![CDATA[<p>Go has the benefit of static type checking and type inference as well for eliminating unnecessary syntactic cruft.</p>
<p>Unlike Perl and Python, or other scripting language solution approaches, it blazingly compiles/links into a single executable for ease of deployment to the end user.</p>
<p>Deploying script languages solutions to end users is just a mess. You have to insure the user has the right runtime version and often times they&#8217;ll need certain C libraries to be installed too, and then for complex apps/tools, there may be many script files involved and you have to deliver the app in such a way that none of the package/module references get screwed up at runtime. Or else buy a commercial SDK from ActiveState to roll Perl or Python apps into a single executable (which, doing that with such solutions is still not a simple endeavour).</p>
<p>The shear simplicity of the Go approach (static linking) is a breadth of fresh air relative to the scripting languages. Plus the compile/link process is lightening fast.</p>
<p>The crown jewels of Go, though, tend to be the goroutines and channels approach to concurrency programming. Facilitating robust, scalable, and low boiler plate concurrent programming will be important in programming languages going forward. Go will be stellar in this regard.</p>
<p>Plus the approach to OOP in Go is rather interesting and refreshing too.</p>
<p>Alas, Go is so young that there&#8217;s not (to my knowledge) any IDE support that does code completion yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cyril Gupta</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2959</link>
		<dc:creator>Cyril Gupta</dc:creator>
		<pubDate>Fri, 27 Nov 2009 04:38:02 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2959</guid>
		<description>Pablo, you&#039;ve already noticed that statically typed languages are taking on the characteristics of dynamically typed ones. C# 4 has enough dynamic typing features to make a lot of things possible, and Scala too introduces new synergy between statically typed and dynamic typed languages.

So I guess the right path is the medium path, just as Buddha said.</description>
		<content:encoded><![CDATA[<p>Pablo, you&#8217;ve already noticed that statically typed languages are taking on the characteristics of dynamically typed ones. C# 4 has enough dynamic typing features to make a lot of things possible, and Scala too introduces new synergy between statically typed and dynamic typed languages.</p>
<p>So I guess the right path is the medium path, just as Buddha said.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sys</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2937</link>
		<dc:creator>sys</dc:creator>
		<pubDate>Thu, 26 Nov 2009 21:01:35 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2937</guid>
		<description>Man, I sure hope so. That&#039;s why I hope Go will catch on and become as ubiquitously available as perl is.

IMHO, loose coupling isn&#039;t always a good thing. I&#039;ll take Ada over Ruby any day of the week.</description>
		<content:encoded><![CDATA[<p>Man, I sure hope so. That&#8217;s why I hope Go will catch on and become as ubiquitously available as perl is.</p>
<p>IMHO, loose coupling isn&#8217;t always a good thing. I&#8217;ll take Ada over Ruby any day of the week.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: josh</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2932</link>
		<dc:creator>josh</dc:creator>
		<pubDate>Thu, 26 Nov 2009 16:06:36 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2932</guid>
		<description>You example for static typing being more verbose is a straw man argument.  It doesn&#039;t show how type inference makes things less verbose, and it is also trivially small.</description>
		<content:encoded><![CDATA[<p>You example for static typing being more verbose is a straw man argument.  It doesn&#8217;t show how type inference makes things less verbose, and it is also trivially small.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dirtside</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2931</link>
		<dc:creator>dirtside</dc:creator>
		<pubDate>Thu, 26 Nov 2009 15:31:19 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2931</guid>
		<description>Human beings and &quot;their&quot; toy computers? Are you suggesting someone besides humans is going to be looking back on our programming architectures 100 years from now? ;)</description>
		<content:encoded><![CDATA[<p>Human beings and &#8220;their&#8221; toy computers? Are you suggesting someone besides humans is going to be looking back on our programming architectures 100 years from now? ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GDR!</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2929</link>
		<dc:creator>GDR!</dc:creator>
		<pubDate>Thu, 26 Nov 2009 14:11:18 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2929</guid>
		<description>Hueoogle - I can&#039;t agree with you. If you were given C code (C is a static language), you will probably fail as hard as when you are given Javascript. Every C project has its own way of managing memory, usually also its own implementation of data structures and such.

It&#039;s more about programming philosophy - Python&#039;s &quot;there is only one way to do it&quot; makes it easy to read *good* code, even though it&#039;s dynamic.</description>
		<content:encoded><![CDATA[<p>Hueoogle &#8211; I can&#8217;t agree with you. If you were given C code (C is a static language), you will probably fail as hard as when you are given Javascript. Every C project has its own way of managing memory, usually also its own implementation of data structures and such.</p>
<p>It&#8217;s more about programming philosophy &#8211; Python&#8217;s &#8220;there is only one way to do it&#8221; makes it easy to read *good* code, even though it&#8217;s dynamic.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Onne</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2920</link>
		<dc:creator>Onne</dc:creator>
		<pubDate>Thu, 26 Nov 2009 06:45:15 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2920</guid>
		<description>Imagine sending a message to a remote server? Can your compiler know how to invoke that routine on the remote server? Can it statically check it? Does the remote server have to be implemented in your language?

No.

So dynamic typing is something akin loose coupling.</description>
		<content:encoded><![CDATA[<p>Imagine sending a message to a remote server? Can your compiler know how to invoke that routine on the remote server? Can it statically check it? Does the remote server have to be implemented in your language?</p>
<p>No.</p>
<p>So dynamic typing is something akin loose coupling.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hueoogle</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-2134</link>
		<dc:creator>Hueoogle</dc:creator>
		<pubDate>Sat, 31 Oct 2009 09:35:28 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-2134</guid>
		<description>Pablo, I think you are asking a rediculous question. Its not a question of which one is better. Its a question of which one is better for the requirements of the current project. If this means, that I need to purchase widget A from Widgets incorporated, I want it in a static language. Ever try to learn hundred of lines of code of a third party API in a dynamic language? When docs are horible to begin with? My hats off to you if thats what you can do. But static languages have there place when you are learning that third party, which, in a sense, you could even say that &#039;JAVA&#039; IS..... with all of its SUB-API&#039;s, could you imagine all of that being written in a dynamic language and trying to master it? No way. I am saying, statics dominate currently for a reason. Dynamics do certainly have there place. But have you been at a new job, sat down, and been given 10 thousand lines of dynamic written code in javascript that isn&#039;t working properly to fix? GOOD LORD, you just want to get up and leave. Written in Java? or any other strong typed language, you might go home happy your first day!</description>
		<content:encoded><![CDATA[<p>Pablo, I think you are asking a rediculous question. Its not a question of which one is better. Its a question of which one is better for the requirements of the current project. If this means, that I need to purchase widget A from Widgets incorporated, I want it in a static language. Ever try to learn hundred of lines of code of a third party API in a dynamic language? When docs are horible to begin with? My hats off to you if thats what you can do. But static languages have there place when you are learning that third party, which, in a sense, you could even say that &#8216;JAVA&#8217; IS&#8230;.. with all of its SUB-API&#8217;s, could you imagine all of that being written in a dynamic language and trying to master it? No way. I am saying, statics dominate currently for a reason. Dynamics do certainly have there place. But have you been at a new job, sat down, and been given 10 thousand lines of dynamic written code in javascript that isn&#8217;t working properly to fix? GOOD LORD, you just want to get up and leave. Written in Java? or any other strong typed language, you might go home happy your first day!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nes</title>
		<link>http://pupeno.com/blog/are-dynamic-languages-just-a-temporary-workaround/comment-page-1/#comment-1761</link>
		<dc:creator>Nes</dc:creator>
		<pubDate>Tue, 20 Oct 2009 17:57:56 +0000</pubDate>
		<guid isPermaLink="false">http://pupeno.com/?p=759#comment-1761</guid>
		<description>It is more of a trade-off. The fundamental problem is that to get good type inference is hard and takes a lot of compiler effort (LOC/size in the compiler). The second is that you can&#039;t properly typecheck 50% of a program with the rest provided in the future as plug-ins. That makes it a bad fit for a small implementation of an embedded scripting type language.

Also type errors in inference based languages like Haskell can sometimes be really hard to understand. And it is frustrating for a programmer to have a compiler error and not knowing how to fix it. Runtime type errors on the other hand are very specific: &quot;this particular thing didn&#039;t work&quot;.</description>
		<content:encoded><![CDATA[<p>It is more of a trade-off. The fundamental problem is that to get good type inference is hard and takes a lot of compiler effort (LOC/size in the compiler). The second is that you can&#8217;t properly typecheck 50% of a program with the rest provided in the future as plug-ins. That makes it a bad fit for a small implementation of an embedded scripting type language.</p>
<p>Also type errors in inference based languages like Haskell can sometimes be really hard to understand. And it is frustrating for a programmer to have a compiler error and not knowing how to fix it. Runtime type errors on the other hand are very specific: &#8220;this particular thing didn&#8217;t work&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
