My response to James McGovern’s piece on dynamic languages has triggered some interesting and (mostly) respectful commentary, and I wanted to be sure to pull out some of the interesting comments from both posts for those that don’t have the time to track them.
- First, we have Tim Bray clarifying his position on dynamic languages. In trying to not put words in his mouth, I undersold his commitment to technologies like the P’s and Ruby, and he came back with the following comment:
What do you mean, “admit”? I’m not “admitting” that dynamic languages are hot stuff and a big part of the future, I’m shouting it from the rooftops to anyone who’ll listen and some others who don’t want to.
Incidentally, I repurposed that over on Peter Yared’s blog on your behalf, Tim – hope that’s ok.
- Second, Chris Rijk asks for more detail on what we mean by costs:
One thing that does spring to mind in these kinds of discussions though is that the “question” seems to get a little lost. Are we focusing on new trends? How much emphasis do we give: time to write a “hello world” level program, a pretty functional demo, getting a system into production or “TCO”? Do we factor in the effect tools have? Are efficiency, security, reliability or scalability special factors to consider or just part of TCO analysis? Are we interested in solutions where it’s harder for developers/managers to go wrong, or do we assume “best practicies”? Some of these are referenced in James’s blog entry but the above are my thoughts.
This follows the line of questioning, I think, that James is getting at when he says “What is sad is seeing otherwise senseful folks get it twisted by talking about the speed in which development occurs when it all reality, the costs to develop an application may only equate to 10% of the total cost of ownership.” Will be talking about this in greater depth in future.
- Third, we have folks checking in over at James’ blog either agreeing with him or disagreeing. Amongst the former is Duane Keys, amongst the latter we have Marcus, Michael Fasosin, Ryan, Charles Miller, James Robertson (who provided this PDF link), and Ian Davis. All of the comments, pro and con, are worth reading.
- Fourth, James himself checked in further on the debate a couple of times, but first I need to ask him a question. It’s unclear to me, James, whether or not you’re strictly talking about Ruby, or whether you’re including all dynamic languages when you say they “will never manage to even get anyone from a Fortune enterprise to talk about it.” It seems from your comment on your blog
Yes, I wasn’t thinking about Smalltalk when I was considering dynamic languages. Was focusing my message at the Ruby camp.
that it’s the former, but the generic ‘dynamic languages’ has been used more or less interchangably. If it’s Ruby specifically, that’s a different argument than dynamic languages in general. But in the meantime, let me move on to some of James’ points or questions from his comment on my blog.
His comments on my blog:
I want to jump out a window. Folks still keep ignoring the point. I have never said that dynamic languages wouldn’t be used in the enterprise or don’t have a place. I can find Perl at work for an example, but ask yourself want is it used for. Sooner or later, Ruby will show up on our doorstep but I can tell you that it won’t be used for anything worth hyping in magazines and certainly won’t be used for any mission-critical enterprise applications.
Of course, you won’t find speakers from the Fortune enterprises to speak at conferences on this topic because no one would consider embarassing themselves to talk about there usage of dynamic languages. Sure, we have some on web applications that are customer-facing. I guess if the clever folks in the blogosphere want to overload the term of what an enterprise application is then they could rationalize anything.
I still defy anyone in the blogosphere to name a single ERP/CRM or other mission-critical application either currently being built and/or can be purchased that is or will be installed into production this year for any Fortune 200 enterprise. You simply can’t!
And then
Oops, Stephen yes you named a CRM application written in a dynamic language, but is Intacts or Sugar really an enterprise application? Can you name a Fortune 200 that has either installed in production?
I’m not entirely sure, based on the above, that the disconnect is as far as it may seem. I’ve already conceded that within the enterprise, in the area of mission critical applications in particular, Java’s way out in front of the dynamic languages. I think we’re all agreed on that point.
Where we break, I think, is on two points:
- The idea that only applications such as CRM and ERP deployed within the Fortune 200 qualify for the term “enterprise”
- The idea that simply because the P’s and Ruby aren’t languages of choice for ‘enterprise’ applications means that enterprises ‘don’t care about them’
On the first point, and to address James’ second comment, I’d say that to me it’s not particularly important whether or not the likes of Intacct or SugarCRM are deployed by the 200 biggest enterprises in the world – they’re complex, enterprise type applications either way. Are they or something like Compiere any less an enterprise application than, say, Microsoft Exchange, because they haven’t been deployed within the Fortune 200 while Exchange has? I personally don’t think so.
To the second, I’d simply reiterate that while Java has a clear and enormous lead within mission critical applications, there are a host of enterprise tasks that are not mission critical yet still worthy of enterprise attention. Whether they’re worth speaking at conferences about is a matter for discussion, I suppose, but I’m still not a believer that the only languages deserving attention and respect from the enterprise are those behind what the Fortune 200 deploys for their mission critical needs. Is MySQL used instead of DB2 and Oracle for mission critical workloads? Not frequently – does this make it not relevant to the enterprise? I don’t believe so. Is Eclipse a mission critical application? Probably not, but it’s still worthy of talking about at conferences, I think.
In any event, while I disagree with James on many of these points, I’ve greatly enjoyed the resulting dialogue. Hope you get the chance to as well.