Categories
Posts in this category
- A shiny perl6.org site
- Creating an entry point for newcomers
- Sprixel, a 6 compiler powered by JavaScript
- Another perl6.org iteration
- Blackjack and Perl 6
- Why I commit Crud to the Perl 6 Test Suite
- Report from the Perl 6 Hackathon in Copenhagen
- Custom operators in Rakudo
- Defined Behaviour with Undefined Values
- Dissecting the "Starry obfu"
- Perl 6: Failing Softly with Unthrown Exceptions
- The first Perl 6 module on CPAN
- Google Summer of Code Mentor Recap
- Building a Huffman Tree With Rakudo
- Immutable Sigils and Context
- Is Perl 6 really Perl?
- Perl 6: Lost in Wonderland
- Lots of momentum in the Perl 6 community
- Musing and the future of feather and the Pugs repository
- Musings on Rakudo's spectest chart
- My first executable from Perl 6
- Trying to implement new operators - failed
- Let's build an object
- Perl 6 is optimized for fun
- How to get a parse tree for a Perl 6 Program
- Perl 6 in 2009
- Perl 6 ticket life cycle
- The Perl 6 Advent Calendar
- How to Plot a Segment of a Circle with SVG
- Publicity for Perl 6
- Rakudo architectural overview
- Rakudo Rocks
- Rakudo "star" announced
- Rakudo's rough edges
- Rats and other pets
- Releasing Rakudo made easy
- Set Phasers to Stun!
- Starry Perl 6 obfu
- Recent Perl 6 Developments August 2008
- Strings and Buffers
- Subroutines vs. Methods - Differences and Commonalities
- A SVG plotting adventure
- A Syntax Highlighter for Perl 6
- Test Suite Reorganization: How to move tests
- The Happiness of Design Convergence
- Perl 6 Tidings from September and October 2008
- Perl 6 Tidings for November 2008
- Perl 6 Tidings from December 2008
- Perl 6 Tidings from January 2009
- Perl 6 Tidings from February 2009
- Perl 6 Tidings from March 2009
- Perl 6 Tidings from April 2009
- Perl 6 Tidings from May 2009
- Perl 6 Tidings from May 2009 (second iteration)
- Perl 6 Tidings from June 2009
- Perl 6 Tidings from August 2009
- Perl 6 Tidings from October 2009
- Timeline for a syntax change in Perl 6
- Visualizing match trees
- We write a Perl 6 book for you
- When we reach 100% we did something wrong
- Where Rakudo Lives Now
- Why was the Perl 6 Advent Calendar such a Success?
- What you can write in Perl 6 today
- Why you don't need the Y combinator in Perl 6
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!
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.