NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
One True Grammar (Score:2)
In my "Bird's Eye View of Perl", the talk I give to managers, I talk about Perl being a single language that comes from the same source. The idea of multiple implementations looks good on paper, but it doesn't work out in practice. Besides knowing the core language and its libraries, now the mere mortal users have to wrestle with pecularities of each implementation and grammar. It the reason I stopped using Java a long time ago (and it's probably much better now). I didn't have anything against Java, but I wasn't going to waste my time making perfectly valid code work with the three or four slightly broken VMs. I hope that Perl 6 eventually won't have that problem.
I'll wait to see what happens and what the reality is, but I'm certainly concerned since I'm writing Learning Perl 6. That's much easier if there is One True Grammar and One True Implementation instead of footnotes for "In Pugs this happens but in Some Other Thing this happens". Anything beyond that is a lot of work for the benefit of a few people.
Reply to This
Re: (Score:1)
Yet, whenever I raise my biggest objection I have against Perl6 (meaningful whitespace), I always get thrown back "well, you can change the grammar you know...".
Re: (Score:2)
Thankfully I haven't seen it come up as much lately. Maybe folks are starting to realize that easily mutable grammars are a powerful and awesome tool but not the sort of thing you want every kid on the block to use.
Re: (Score:1)
At some point you simply HAVE to be able to have an IronPerl6 and JPerl6 simply for long term language flexibility and health.
Re: (Score:2)
I don't see different implementations as necessary to anything. Some people might like it, but in reality people will code to the implementation's features. It happens in Java, Javascript, Lisp, Smalltalk, and probably a lot of others that I haven't used. The conversations at the pub are about who supports what and what you have to do to make good code on one implementation work on another.
It's not so
Re: (Score:1)
They already have management infrastructure in place to deal with it, and if you can fit in with the existing it's a huge plus.
Not to mention that if you can run on multiple implementations it's a huge advantage ecologically speaking, you can respond to environmental disasters much better.
(Just look at how Catalyst dealt with the Class::DBI disaster compared to Maypole)
Re: (Score:2)
Re: (Score:1)
How is some users of Python/Ruby dealing with their C implementations can be slow?
By switching to JRuby/IronPython/etc...
Similarly Catalyst survived by leaving Class::DBI, but nobody that was using Catalyst had to leave Catalyst. The same cannot be said for Maypole.