Advertisement

To Perl or Not to Perl

Started by December 20, 2004 04:41 AM
15 comments, last by Oluseyi 19 years, 11 months ago
Quote: Original post by Oluseyi
People write large applications in assembly. Doesn't mean it's suited for it; it means it's what they wrote it in. Perl for web applications is an artefact of CGI, while mod_perl is a "re-jiggerification" to eliminate the out-of-proc overhead. Still doesn't make it elegant or well-suited.


The same way J2EE is a "re-jiggerification" [sic] of Java? Languages (some languages) evolve. Get used to it.


Quote:
But that's not even my beef. No, my beef lies in the language itself. Because of its time and place, it has been eclipsed by advances in programming technology (hello, bless?)


OO predates Perl.

Quote:
The fact that the entire language has to be rewritten, that a VM of sorts (Parrot) is being introduced,


The language is being cleaned up to address exactly the things you blather on about, why is this a bad thing? And what about a using a VM annoys you?

Quote:
that the next version of the language bears just about zero resemblance to its predecessor is a clear indication that they should have just moved on to something new rather than trying to redefine the language.


'They' are 'moving on to something new', it's called Perl6.


Quote:
It's like C and C++; there is no way C++ would have succeeded if it was trying to just be the "next version" of C.


How is C++ not the 'next version' of C? You whine about hacking up existing languages to add incompatible features, and then use C++ as a counterexample?
Pot->Kettle->Black?

Quote:
Your analogy is silly, because you don't grasp the crux of mine.


I might have grasped your analogy better had you posted one. Try that next time.


Quote:
It's not versioning, numbskull. It's a major syntactic break. You don't do that. You move on and call it a new language.


O.K. Lets call it a new language. I have an idea for a name... "Perl6" what do you think?

Quote:
Why didn't the makers of Java try to pass their language off as C++2 (which was a large part of its intent)?


For various reasons, I'm sure. Not the least of which is marketing. "Java", doesn't that sound snappy?

Quote:
Why wasn't C++, C2?


Because they were trying to be cute (e.g. int C; C++;, get it ?)

Quote:
Perl 6 is evidence that Perl 5, as a logical extension of Perl 1, has reached its limits. At that point, Larry should have made a clean break rather than trying to trade on the name of Perl.


O.K., and Bjarne Stroustrup should have "made a clean break" instead of "cashing in" on C. You are right, Perl5 as a logical extension of Perl 1, has reached its limits. That is why Perl 6 is a redesign. Why do you find this offensive?

Quote:
I predict failure, particularly because the delay and the costs of transition without the subtle psychological reassurance that you are in unfamiliar territory, have made Perl 6 an inferior choice to Python out of the box for existing Perl programmers.


Perl6 has (and will be for a while) an inferior choice, particularly because it doesn't exist yet as an implementation. As for failure, only time will tell.


Quote: Original post by Oluseyi
In the interim, I recommend Python as well. Best of all, there are two Python for .NET implementations in the works, one of which is being authored by the creator of Jython (Python running on the Java VM), who now works at Microsoft on the CLR team. In other words, learning Python lets you get to work right now and move to .NET in the future.


Python is a great language, I recommend learning it, too. Perl, however, is already available on .NET from activestate. Learn them both.
Advertisement
Quote: Original post by grazer
The language is being cleaned up to address exactly the things you blather on about, why is this a bad thing? And what about a using a VM annoys you?
I never said using VMs annoy me. My argument is that substantial modification to the language presents an identity crisis. Create a new moniker, because you can never quite break free from older versions of yourself. Languages evolve, but look how many people still write pre-Standard C++. Look how many people still write C89. A drastic change between versions creates massive problems for the userbase.

Quote: How is C++ not the 'next version' of C? You whine about hacking up existing languages to add incompatible features, and then use C++ as a counterexample?
Pot->Kettle->Black?
Man, you're sluggish today, aren't you? There's a distinct difference between basing a language on a pre-existing language (Perl, Python, C++ all inherit from C, but maintain independent branding for a reason) and trying to change the definition of a language with a single version change. For instance, there are very radical proposals for reshaping C++ into something far more appropriate for modern application development, but it's being done in steps (and, in my opinion, will never succeed).

Quote: You are right, Perl5 as a logical extension of Perl 1, has reached its limits. That is why Perl 6 is a redesign. Why do you find this offensive?
I don't find the redesign "offensive." I just think choosing to brand such a severe redesign as though it were merely a version update will harm Perl in the long run and is not a smart decision. It will confuse newcomers to the language and be a burden for existing users (there will be an immense amount of code identified as "Perl" that will be Perl5 that will be, in effect, useless to Perl6 users). That's my point, which you seem to have an extremely hard time grasping.
Quote: Original post by Oluseyi
Don't learn Perl. The entire language is being redesigned, which is proof that they've finally conceded that they got it wrong the first time. The delay in actually releasing Perl 6 suggests that they're getting it wrong again.

C# and .NET are powerful, and hold the promise of portability, but it isn't fully realized yet. In the interim, I recommend Python as well. Best of all, there are two Python for .NET implementations in the works, one of which is being authored by the creator of Jython (Python running on the Java VM), who now works at Microsoft on the CLR team. In other words, learning Python lets you get to work right now and move to .NET in the future.


The fact that it's taking them to long to release Perl 6 is because Larry Wall has a family to feed and no longer gets paid for working on Perl (according to an interview with Damian Conway in Linux Format), and a lot of the other people working on it are in the same position.

A lot of people disagree with you about perl, I'm not going to bother arguing either way though because it's not worth it. Perl probably isn't something that's useful when it comes to game programming though.
Perl = meh.
Python = yay!

Python is very well suited for scripting and RAD. There are some excellent extensions, such as wxWidget which allows you to create cross-platform UI in a matter of hours/days. And if you plan on using regexp's, python has an extended syntax that allows you to comment each section of the expression. Regexp's can get pretty nasty, but using the extended syntax makes them much easier to understand weeks or months down the line. Well, Perl might have something like this as well, but I honestly don't know.
Quote: Original post by Oluseyi
(there will be an immense amount of code identified as "Perl" that will be Perl5 that will be, in effect, useless to Perl6 users). That's my point, which you seem to have an extremely hard time grasping.


Perl5 will still run on Parrot, as will Python, Ruby, etc. Parrot will allow calling Perl5 from Perl6, Ruby from Perl5, etc.

So, you have, in effect, no point to grasp.
Advertisement
*sigh*

How about the challenge of learning language and the value of existing code for that purpose? Stop responding to what you wish I'd said and start responding to what I said.

This topic is closed to new replies.

Advertisement