|There's more than one way to do things|
Re^4: Reference in Perl 6by ctilmes (Vicar)
|on Aug 23, 2010 at 12:36 UTC||Need Help??|
I have, in fact, taken several long, hard looks at Perl-6 now, and my take-away is simply that, once any language comes into a production setting, such that literally millions of lines of mission-critical code are written in it, it never goes away ... and it never successfully transforms itself into something significantly different. It does not matter if the “successor” is claimed to be much better. (It does not even matter if it really is.) What matters is a vast investment in reasonably bug-free source code that must now be protected and maintained.
Sure, if there are huge perl 5 apps with millions of lines of mission-critical code running just fine, they probably won't want to port to perl 6 immediately for no reason. I agree. Depending on particular circumstances I probably wouldn't recommend they do so.
You could have used that same argument to say that ruby, java, etc. would never amount to anything. You'd have been wrong about them too. They are used successfully in tons of new applications.
Guess what? Next year people will be writing more all new applications, and the next year after that they will be writing more and so on. Perl 6 just adds one more language to the consideration of which language will get used. I happen to think it makes a very strong case that it will be the best language choice for a very wide array of applications.
Perl went quickly through many “nothing much” incarnations until ... Perl-5. Then, it reached critical mass. Having done so, it will now be with us, as it is, for an exceedingly long time.
Again, I agree, Perl 5 will be with us for a long time, and the apps I have in Perl 5 will probably still be using Perl 5 long after I have started writing new production apps in Perl 6. So what? I'm not going to let that stop me from using Perl 6 for new apps, where appropriate, any more than others let the mere existence of legacy COBOL apps stop them from developing new code in Java.