Categories

Posts in this category

Thu, 12 Nov 2009

Is Perl 6 really Perl?


Permanent link

A few days ago masak blogged about the social aspect of the is Perl 6 really Perl? question.

He presumes that the answer is yes, but doesn't tell us why. I'll try to give some reasons.

Perl 6 started as the successor to Perl 5

Perl 6 started off as the successor to Perl 5, at a Perl 5 meeting, by the Perl crowd. It was a plan to escape both the backwards compatibility trap (which meant that broken things couldn't be fixed without many people yelling), and the lack of momentum in the community.

Perl 6 embraces the Perl philosophy

What makes Perl Perl? In my opinion it's not the sigils on variables that make Perl Perl, or that writing a regex only need two characters and so on. It's mostly the philosophy that makes the difference.

There are some underlying principles like TIMTOWTDI, context sensitivity, convenience over consistency, making simple things easy and hard things possible, often used constructs short and less frequent things longer, and so on.

Perl 6 is founded on all those philosophies and ideals, and also shares some technical principles. For example sigils on variables (oh, I mentioned them already ...), easy access to powerful regexes, that fact that operations coerce their arguments (instead of the type of arguments determining the operation like in javascript, where a + can either mean addition or string concatenation).

So if you agree with my definition of what makes Perl Perl, Perl 6 is also Perl. If not, please tell me what's the essence of Perl!

[/perl-6] Permanent link

Comments / Trackbacks:

Trackback URL: /blog-en/perl-6/is-perl-6-really-perl.trackback

Jan Ingvoldstad wrote

People forget ...
... about the Perl 4 -> Perl 5 controversies.

Perhaps they weren't quite as outspoken as now, because the community was far smaller back then, but I recall quite a lot of bitching about how Perl 5 broke compatibility with Perl 4 in some ways, how Perl 5 was dog slow, and so on.

History has a tendency of fractal self-imitation.

John wrote


I'm not sure TIMTOWTDI is actually an *explicit* property of Perl. I mean, any language that gives you even a *little* flexibility is going to end up with more than one way to do various things. Do you think timtowtdi is actually explicity built into Perl? My guess is that timtowtdi is more like something that just *happens* and that Perl simply doesn't try to *stop* you from doing things in more than one way.

Regarding the essence of Perl, IMO, another part is the "just get it done" attitude. Perl (and just as importantly, many of the well-known and well-used CPAN modules) doesn't screw with you -- doesn't make you jump through convoluted and/or overdesigned hoops/APIs -- it just lets you get your job done.

Tim Bunce wrote


I give my take on this in slide 68 onwards of http://www.slideshare.net/Tim.Bunce/perl-myths-200909 by referring to http://www.wall.org/~larry/natural.html and a quote from Larry. I tell people that Perl 6 is _more_ Perlish than Perl 5.

emilper wrote


if Larry Wall says Perl6 is Perl, then Perl6 is Perl ...

Anyway, as long as it walks like a Lisp, looks like a C, and talks like a BASH, I don't care how it's called, even Rakudo would be fine.

Mark wrote


@Tim Bunce: Perl 6 is _more_ Perlish than Perl 5... because...

Shahbaz Javeed wrote


IMO perl has always had a reputation of being a better shell than shell, a better awk than awk, a better sed than sed, all the while providing a whole language in the background that provides all that functionality and so much more. That has as much to do with familiarity (in this case with bash, awk and sed) as it does with convenience.

It remains to be seen how convenient perl will feel. As an example I find myself using ruby and find it takes convenience to the next level even though it's not as familiar. If perl6 can keep the familiarity - even if in a limited way - while bringing much needed additional convenience, I think it will be a fit heir to the throne of the the perl empire.

Raphael Descamps wrote


For people who only know Perl since Perl 5 (like me!), it is possible that they will perceive Perl 6 as a completely new language but there is undoubtedly lots of familiarity and the additional convenience is really huge.

In fact, I have started to look at Perl 6 about 3 or 4 years ago and my first impression was that it's simply a new language, the syntax changed in many ways and there is lots of new concepts. But the more I learned about it, the more I also learned about Perl 5 as well and the more I was able to see and understand the similarities. I now think that Perl 6 is definitively and without doubt the successor of Perl 5.

Similarly to prior Perl versions, Perl 6 stay a postmodern language, stealing^w borrowing many features and paradigms from other languages.

Instead of TIMTOWTDI, I for my part prefer for Perl 6 the slogan "All Your Paradigms Are Belong To Us" but it maybe give a too hegemonic impression and Perl likes diversity ;)

The State of the Onion 10 give us the ONE TRUE answer about Perl 6:
---
the basic Perl paradigm is "Whatever-oriented programming."
---

I suppose that similar to TIMTOWTDI, which is often misinterpreted as "they're too many way to do it", "Whatever-oriented programming" will probably be misinterpreted as "Screwup-oriented programming".

In that sense, Perl 6 stay a postmodern ironic programming language ;)

Write a comment

The comments on this blog post have been disabled; the comment form below will not work.

 
Name:
URL: [http://www.example.com/] (optional)
Title: (optional)
Comments:
Save my Name and URL/Email for next time