<?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"
	>
<channel>
	<title>Comments on: Dynamic Indeed: Application Lifespan and Understanding Dynamic Languages</title>
	<atom:link href="http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/</link>
	<description>because technology is just another ecosystem</description>
	<pubDate>Fri, 05 Dec 2008 17:39:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: stephen o'grady</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2285</link>
		<dc:creator>stephen o'grady</dc:creator>
		<pubDate>Wed, 30 Aug 2006 00:31:52 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2285</guid>
		<description>i think it's clear that i've created a scope problem. my bad entirely. great discussion, but i think we're all on different pages. i'll follow up on this one soon(ish). 

in the meantime, a couple of answers to comments. 

Mike: "I think it's not the language that makes the software disposable, but rather the design/architecture that is commonly used when building 'scripting applications' builds in disposability"

i think that's mostly true, but i do think language has something to do with it. if we think of languages as a spectrum, and using for the sake of argument abstraction as a means of judging them, there is a clear progression. c is more abstract that assembler, java is more abstract than c, php/ruby/VB/etc are more abstract than java. as such, i do think there are indeed differences in a languages suitability to creating disposable applications. as an extreme example, i can tell you that the odds of me creating a one off app in assembler are pretty much zero (not that i could any more anyway).  

Christopher: "Stephen's argument isn't reflexive. PHP is good for disposable software AND enterprise software, but Java is only good for enterprise software."

i don't know that i'd be that hard and fast about it - i've been on projects where Java apps were cranked out to solve a particular need - but you're correct. that's more or less what i'm saying. 

"&#62; We need less quick and dirty, and more quick and clean.

I love that."

i agree. it's one of the reasons that i find some of the new web frameworks so intriguing. not because they're the solution to all problems, but rather because they are not. instead, they take a narrow spectrum of application types and make the development of a solution quick and (mostly) clean. 

"The problem with disposable software is it isn't disposed soon enough."

partially agree. i'd merely add that in my experience, disposable software is often the result of earlier mistakes in design and execution. otherwise, i agree. 
</description>
		<content:encoded><![CDATA[<p>i think it&#8217;s clear that i&#8217;ve created a scope problem. my bad entirely. great discussion, but i think we&#8217;re all on different pages. i&#8217;ll follow up on this one soon(ish). </p>
<p>in the meantime, a couple of answers to comments. </p>
<p>Mike: &#8220;I think it&#8217;s not the language that makes the software disposable, but rather the design/architecture that is commonly used when building &#8217;scripting applications&#8217; builds in disposability&#8221;</p>
<p>i think that&#8217;s mostly true, but i do think language has something to do with it. if we think of languages as a spectrum, and using for the sake of argument abstraction as a means of judging them, there is a clear progression. c is more abstract that assembler, java is more abstract than c, php/ruby/VB/etc are more abstract than java. as such, i do think there are indeed differences in a languages suitability to creating disposable applications. as an extreme example, i can tell you that the odds of me creating a one off app in assembler are pretty much zero (not that i could any more anyway).  </p>
<p>Christopher: &#8220;Stephen&#8217;s argument isn&#8217;t reflexive. PHP is good for disposable software AND enterprise software, but Java is only good for enterprise software.&#8221;</p>
<p>i don&#8217;t know that i&#8217;d be that hard and fast about it - i&#8217;ve been on projects where Java apps were cranked out to solve a particular need - but you&#8217;re correct. that&#8217;s more or less what i&#8217;m saying. </p>
<p>&#8220;&gt; We need less quick and dirty, and more quick and clean.</p>
<p>I love that.&#8221;</p>
<p>i agree. it&#8217;s one of the reasons that i find some of the new web frameworks so intriguing. not because they&#8217;re the solution to all problems, but rather because they are not. instead, they take a narrow spectrum of application types and make the development of a solution quick and (mostly) clean. </p>
<p>&#8220;The problem with disposable software is it isn&#8217;t disposed soon enough.&#8221;</p>
<p>partially agree. i&#8217;d merely add that in my experience, disposable software is often the result of earlier mistakes in design and execution. otherwise, i agree.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christopher Baus</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2284</link>
		<dc:creator>Christopher Baus</dc:creator>
		<pubDate>Tue, 29 Aug 2006 19:27:53 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2284</guid>
		<description>&#62; What I think doesn't fit with your argument are the Yahoo, Google, (insert big Fortune X company I'm not allowed to name) etc that actually built "enterprise applications" on PHP, Python, etc.

Stephen's argument isn't reflexive.  PHP is good for disposable software AND enterprise software, but Java is only good for enterprise software.  

&#62; We need less quick and dirty, and more quick and clean.

I love that.  

The problem with disposable software is it isn't disposed soon enough.</description>
		<content:encoded><![CDATA[<p>&gt; What I think doesn&#8217;t fit with your argument are the Yahoo, Google, (insert big Fortune X company I&#8217;m not allowed to name) etc that actually built &#8220;enterprise applications&#8221; on PHP, Python, etc.</p>
<p>Stephen&#8217;s argument isn&#8217;t reflexive.  PHP is good for disposable software AND enterprise software, but Java is only good for enterprise software.  </p>
<p>&gt; We need less quick and dirty, and more quick and clean.</p>
<p>I love that.  </p>
<p>The problem with disposable software is it isn&#8217;t disposed soon enough.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Dolan</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2283</link>
		<dc:creator>Mike Dolan</dc:creator>
		<pubDate>Tue, 29 Aug 2006 13:48:53 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2283</guid>
		<description>I wrote a "short term" PHP3 app to monitor whenever SSL connectivity over HTTPS went down on a particular server at a rather large mfg company... that was well over 6 years ago. It was setup to send me an email whenever it went down. I'm still getting emails every now and then :) They've extending the app b/c the liked it so much but have never removed the hard coding of my email address (originally in case SQL connectivity went down). They even added in SNMP features... but plenty of my original code is still there.

What I think doesn't fit with your argument are the Yahoo, Google, (insert big Fortune X company I'm not allowed to name) etc that actually built "enterprise applications" on PHP, Python, etc. I don't think Yahoo Finance is "disposable software" for Yahoo. Often components are disposable, but the application is not. Which gets me to my particular thought after reading your post - is it that the software is disposable or just that the componentized architecture of PHP, Python, Ruby, heck open source applications lends better to "disposability" - even with the simples, small apps. I think it's not the language that makes the software disposable, but rather the design/architecture that is commonly used when building "scripting applications" builds in disposability... that's why my PHP3 app is still in use today (prob updated to PHP4 by now) - pieces of it were easily disposable/upgradeable - even though the software application as a whole is just as important today as it was 6 yrs ago.</description>
		<content:encoded><![CDATA[<p>I wrote a &#8220;short term&#8221; PHP3 app to monitor whenever SSL connectivity over HTTPS went down on a particular server at a rather large mfg company&#8230; that was well over 6 years ago. It was setup to send me an email whenever it went down. I&#8217;m still getting emails every now and then <img src='http://redmonk.com/sogrady/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> They&#8217;ve extending the app b/c the liked it so much but have never removed the hard coding of my email address (originally in case SQL connectivity went down). They even added in SNMP features&#8230; but plenty of my original code is still there.</p>
<p>What I think doesn&#8217;t fit with your argument are the Yahoo, Google, (insert big Fortune X company I&#8217;m not allowed to name) etc that actually built &#8220;enterprise applications&#8221; on PHP, Python, etc. I don&#8217;t think Yahoo Finance is &#8220;disposable software&#8221; for Yahoo. Often components are disposable, but the application is not. Which gets me to my particular thought after reading your post - is it that the software is disposable or just that the componentized architecture of PHP, Python, Ruby, heck open source applications lends better to &#8220;disposability&#8221; - even with the simples, small apps. I think it&#8217;s not the language that makes the software disposable, but rather the design/architecture that is commonly used when building &#8220;scripting applications&#8221; builds in disposability&#8230; that&#8217;s why my PHP3 app is still in use today (prob updated to PHP4 by now) - pieces of it were easily disposable/upgradeable - even though the software application as a whole is just as important today as it was 6 yrs ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Otter</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2282</link>
		<dc:creator>Thomas Otter</dc:creator>
		<pubDate>Tue, 29 Aug 2006 05:08:35 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2282</guid>
		<description>Stephen,
I'm in no position to comment on which language when, but I do worry about applications that are built with a "temp" mindset. once the app is built, it is the user that tends to determine how long the app lives for. Many Y2K arose because the developers thought that the app would die long before that became an issue. They were wrong.

We need less quick and dirty, and more quick and clean. Terms like extreme programming terrify me, but then maybe that is because Im just an enterprisey user...

Now that i have commented, I suppose I should listen to the podcast....!)</description>
		<content:encoded><![CDATA[<p>Stephen,<br />
I&#8217;m in no position to comment on which language when, but I do worry about applications that are built with a &#8220;temp&#8221; mindset. once the app is built, it is the user that tends to determine how long the app lives for. Many Y2K arose because the developers thought that the app would die long before that became an issue. They were wrong.</p>
<p>We need less quick and dirty, and more quick and clean. Terms like extreme programming terrify me, but then maybe that is because Im just an enterprisey user&#8230;</p>
<p>Now that i have commented, I suppose I should listen to the podcast&#8230;.!)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephen o'grady</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2281</link>
		<dc:creator>stephen o'grady</dc:creator>
		<pubDate>Tue, 29 Aug 2006 02:32:54 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2281</guid>
		<description>chris &#38; brandon: interesting. i think we may have a scope problem, but let's find out. 

am i to understand that neither of you really sees any disparities between languages in terms of productivity and speed? in other words, given a quick and dirty job, it's just as easy to knock it out in C++ or Java as it would be in, say, Perl or PHP - assuming equal language facility? there's no delta in development speed? if so, i can't really agree with that. there have been reasons over the course of my career that i had to develop in things like C, COBOL, or even - shudder - Assembler, but i would never try to argue that i could develop as quickly in those languages as i could with some of the more recent developments. hell, even compared to ASP - not ASP.Net - Ruby's significantly quicker for me. 

recent (and yes, often dynamic) languages abstract more from a development perspective, and while this does not come without cost it does allow for improvements in productivity. 

does this mean that quick and dirty jobs cannot be done in things like C++ or Java? absolutely not. just that in my experience it's far easier to do what Ryan describes above as disposable applications in something else. that's also what i hear from a significant majority of the developers i speak with. 

in other words, while i would never make the argument that language dictates life expectancy or longevity with high precision, neither do i think they're unrelated. 

to christopher's question, here's a different way of answering it that might be clearer. in an enterprise of a more recent vintage than the example i cited in the original entry, it's likely that the EDI, inventory and other applications would be written in Java and housed within an application server of some sort. it's equally likely that the local application with a GUI and a database would either be written in VB.NET (the one i actually built was actually an Access DB with some fancy macros, i'm ashamed to admit) or built as an online application (b/c availability is better today than it was at the time) using PHP, Ruby or something similar. 

now could this 'enterprise' have built the local application in Java, and the EDI, etc apps in .NET or PHP/Python/Ruby? certainly. 

but i'd contend that those use cases would be more atypical than not. and productivity - i.e. the time it takes me to churn out the local application in Java vs an alternative would be a factor. tooling might mitigate that to a certain extent, as the success of VB proved, but not completely.

does that answer the question better?</description>
		<content:encoded><![CDATA[<p>chris &amp; brandon: interesting. i think we may have a scope problem, but let&#8217;s find out. </p>
<p>am i to understand that neither of you really sees any disparities between languages in terms of productivity and speed? in other words, given a quick and dirty job, it&#8217;s just as easy to knock it out in C++ or Java as it would be in, say, Perl or PHP - assuming equal language facility? there&#8217;s no delta in development speed? if so, i can&#8217;t really agree with that. there have been reasons over the course of my career that i had to develop in things like C, COBOL, or even - shudder - Assembler, but i would never try to argue that i could develop as quickly in those languages as i could with some of the more recent developments. hell, even compared to ASP - not ASP.Net - Ruby&#8217;s significantly quicker for me. </p>
<p>recent (and yes, often dynamic) languages abstract more from a development perspective, and while this does not come without cost it does allow for improvements in productivity. </p>
<p>does this mean that quick and dirty jobs cannot be done in things like C++ or Java? absolutely not. just that in my experience it&#8217;s far easier to do what Ryan describes above as disposable applications in something else. that&#8217;s also what i hear from a significant majority of the developers i speak with. </p>
<p>in other words, while i would never make the argument that language dictates life expectancy or longevity with high precision, neither do i think they&#8217;re unrelated. </p>
<p>to christopher&#8217;s question, here&#8217;s a different way of answering it that might be clearer. in an enterprise of a more recent vintage than the example i cited in the original entry, it&#8217;s likely that the EDI, inventory and other applications would be written in Java and housed within an application server of some sort. it&#8217;s equally likely that the local application with a GUI and a database would either be written in VB.NET (the one i actually built was actually an Access DB with some fancy macros, i&#8217;m ashamed to admit) or built as an online application (b/c availability is better today than it was at the time) using PHP, Ruby or something similar. </p>
<p>now could this &#8216;enterprise&#8217; have built the local application in Java, and the EDI, etc apps in .NET or PHP/Python/Ruby? certainly. </p>
<p>but i&#8217;d contend that those use cases would be more atypical than not. and productivity - i.e. the time it takes me to churn out the local application in Java vs an alternative would be a factor. tooling might mitigate that to a certain extent, as the success of VB proved, but not completely.</p>
<p>does that answer the question better?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2280</link>
		<dc:creator>Brandon</dc:creator>
		<pubDate>Tue, 29 Aug 2006 01:55:02 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2280</guid>
		<description>I tend to agree with Chris. The choice and use of language seems completely separate from the longevity of the application itself.

What am I missing? Is this the right interpretation of the post?</description>
		<content:encoded><![CDATA[<p>I tend to agree with Chris. The choice and use of language seems completely separate from the longevity of the application itself.</p>
<p>What am I missing? Is this the right interpretation of the post?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: christopher baus</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2279</link>
		<dc:creator>christopher baus</dc:creator>
		<pubDate>Tue, 29 Aug 2006 01:08:16 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2279</guid>
		<description>&#62; I'm contending that there are fundamental differences between your average PHP, Ruby, etc application and a typical Java project.

I'm sorry to keep coming back to this quote, but do you mean intranet web apps, command line apps, or external web apps?

Don't get me wrong, I think there is a lot of genius in Python, but I don't think I approach python apps that much differently than I do C++ or Java apps.  Sometimes my python and C++ apps are one in the same.

I totally agree that there is value in the quick and dirty and vendors should support that paradigm, but I don't necesarily see that tied to tool selection.  The Unix command 'tail' for instance is a tiny app written in C, but it could have been written in any language.</description>
		<content:encoded><![CDATA[<p>&gt; I&#8217;m contending that there are fundamental differences between your average PHP, Ruby, etc application and a typical Java project.</p>
<p>I&#8217;m sorry to keep coming back to this quote, but do you mean intranet web apps, command line apps, or external web apps?</p>
<p>Don&#8217;t get me wrong, I think there is a lot of genius in Python, but I don&#8217;t think I approach python apps that much differently than I do C++ or Java apps.  Sometimes my python and C++ apps are one in the same.</p>
<p>I totally agree that there is value in the quick and dirty and vendors should support that paradigm, but I don&#8217;t necesarily see that tied to tool selection.  The Unix command &#8216;tail&#8217; for instance is a tiny app written in C, but it could have been written in any language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Tomayko</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2278</link>
		<dc:creator>Ryan Tomayko</dc:creator>
		<pubDate>Mon, 28 Aug 2006 22:19:04 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2278</guid>
		<description>Alex Bunardzic calls it &lt;a href="http://lesscode.org/2005/08/16/disposable-software/" rel="nofollow"&gt;Disposable Software&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Alex Bunardzic calls it <a href="http://lesscode.org/2005/08/16/disposable-software/" >Disposable Software</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephen o'grady</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2277</link>
		<dc:creator>stephen o'grady</dc:creator>
		<pubDate>Mon, 28 Aug 2006 21:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2277</guid>
		<description>christopher: i agree, and should have put that more strongly. in my experience, the dynamic languages are employed quite often for these types of needs - as is .NET, as you point out - but it's not because they're dynamic (necessarily). the reasons are varied, but usually include have something to do with barriers to entry like complexity, cost, and availability. in other words, i'm using dynamic languages in this case as a descriptive term, a bucket if you will, rather than as a symbol of why the languages i'm throwing in there are successful. 

where we might beg to differ is on the .NET v PHP, Ruby, et al bit. as mentioned above, .NET technologies are certainly a big part of that conversation, but i see an awful lot of PHP, Python and so on employed as well. 

i'm not discounting the presence of .NET, and certainly not the rampant success of VB years ago, but neither would i discount the growing popularity of some of the so-called scripting languages. different tools for different jobs, as they say.</description>
		<content:encoded><![CDATA[<p>christopher: i agree, and should have put that more strongly. in my experience, the dynamic languages are employed quite often for these types of needs - as is .NET, as you point out - but it&#8217;s not because they&#8217;re dynamic (necessarily). the reasons are varied, but usually include have something to do with barriers to entry like complexity, cost, and availability. in other words, i&#8217;m using dynamic languages in this case as a descriptive term, a bucket if you will, rather than as a symbol of why the languages i&#8217;m throwing in there are successful. </p>
<p>where we might beg to differ is on the .NET v PHP, Ruby, et al bit. as mentioned above, .NET technologies are certainly a big part of that conversation, but i see an awful lot of PHP, Python and so on employed as well. </p>
<p>i&#8217;m not discounting the presence of .NET, and certainly not the rampant success of VB years ago, but neither would i discount the growing popularity of some of the so-called scripting languages. different tools for different jobs, as they say.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: christopher baus</title>
		<link>http://redmonk.com/sogrady/2006/08/28/dynamic-indeed-application-lifespan-and-understanding-dynamic-languages/#comment-2276</link>
		<dc:creator>christopher baus</dc:creator>
		<pubDate>Mon, 28 Aug 2006 21:27:08 +0000</pubDate>
		<guid isPermaLink="false">http://redmonk.com/sogrady/wp/?p=1020#comment-2276</guid>
		<description>&#62; Put simply, I'm contending that there are fundamental differences between your average PHP, Ruby, etc application and a typical Java project.

I'd say that the one off, short term type of work that you describe is not being done in PHP or Ruby, but .NET which has replaced VB.  This has more to do with .NET tools and third party support than the static/dynamic nature of the language.</description>
		<content:encoded><![CDATA[<p>&gt; Put simply, I&#8217;m contending that there are fundamental differences between your average PHP, Ruby, etc application and a typical Java project.</p>
<p>I&#8217;d say that the one off, short term type of work that you describe is not being done in PHP or Ruby, but .NET which has replaced VB.  This has more to do with .NET tools and third party support than the static/dynamic nature of the language.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
