Responding to a Reddit comment about my Parrot article.
Several days back I wrote about Parrot, specifically the doubts I have that it will ever be suitable for production use. A link to my article was submitted to Reddit, and it generated some discussion. From that discussion, there is one comment in particular that I would like to respond to.
I’m somewhat confused by how that comment started out: Somehow I am not surprised that an article like this would come from a blog with “IT” in the title. It seems to me that every other “IT” blog post concerns trying to gauge an idea’s momentum without any concern for on interest in whether the idea offers advantages to the author or her/his readers. The comment author then continues with a similar point: If it isn’t on the IT radar, and (s)he has no use for it, why waste time worrying about it?.
Anyone working in IT should be very much concerned about the benefits a project like Parrot could bring to his or her operation. Over the past decade we’ve already seen a major shift towards the use of virtual machine-based language platforms in the enterprise, namely Java and .NET. With scripting languages like Ruby and Python becoming more popular for large-scale development, it’s natural for those of us in IT to start looking at virtual machines (ie. Parrot) that specifically focus on executing such languages. Part of our job is trying to anticipate the future based on the trends we see today. Parrot might be part of that future.
My article should have given some insight into why I, and no doubt others, haven’t contributed to Parrot. As I clearly stated in my other article, “Individuals and businesses often do not, or cannot, invest the time and effort to track a continually-moving target like Parrot.”
Likewise, I think my original article explained quite clearly why Parrot is currently unsuitable for use. I’ll summarize those main points:
- A lack of stability: each new release tends to bring pretty major changes. While good from an innovation perspective, this proves costly from a usage perspective.
- Poor/nonexistent language implementations: to make effective use of Parrot, we need mature Python, Perl, Ruby, Tcl and PHP implementations that target it.
- A lack of resource-plenty backing: Parrot seems to need an organization that will readily provide the resources needed for continued growth. This could be a corporate backer, a large user-based community, etc.
I thought that the needed improvements would be relatively obvious. Apparently not, as the Reddit comment author seemed unsure of them. In short, what I think Parrot needs is as follows: a stable, consistent base to build high-quality implementations of popular scripting languages upon, ideally with backing from a large user community or from a sufficiently-large business.
In the world of software development, six years is quite a while. With usable implementations of scripting languages like Ruby (JRuby, IronRuby) and Python (Jython, IronPython) being available on platforms like Java and .NET, I see Parrot’s chance at making a real impact dwindle more and more each day. So while I’d like to see it succeed, such success seems doubtful without some radical changes.
September 23rd, 2007 at 1:39 am
i try parrot now and then, and i dont think it really matures fast enough. there are lots of changes youre right, but theyre not forward moving changes. like from the times ive looked at it there have been maybe four or five different intermediate representations for the language front ends to generate. i wanted to write a simple front end for the simple +-*/ bracketed math expressions but i didnt know which intermediate language my front end should target. so i just had my compiler target java instead since its more stable.