Posts tagged: parrot

YAPC::NA Pittsburgh: Day 1

Notes from Yet Another Perl Conference:: North America, in Pittsburgh.

5:29 pm: The last session I was to attend was the least interesting (to me) of the day, and since it was standing room only, I bailed for the hotel. I was burnt anyhow. Good day though.

4:08 pm: It’s tempting to try and get mod_perl6 running on the Perl 6 server we have at UNH. I might wait though considering I have other things depending on Apache on that server– and if that ain’t broke… no need to fix it.

3:51 pm: Now it’s Jeff Horwitz on mod_perl6.

3:31 pm: Patrick’s back at it with specifics on how to contribute directly to the Rakudo Perl 6 implementation. Many Perl 6 functions are written in Perl 6 but may require optimization if they turn out slow. This seems like dressing in front of a mirror.

2:47 pm: Patrick is done with the regexes talk. Now for a break and to decide whether to stick with Patrick for the afternoon, or check out a session on command-line Perl. I’m tempted to stay with Patrick.

2:37 pm: Is this stuff happening in other languages? It seems like these new features are fast approaching the high level on which the brain itself works. So much of the work is done for you. How can a language be rated on how high-level it is compared to others?

2:22 pm: Perl 6 regexes are subroutines and can be named. They can also be used in other regexes. And by the way since I can’t type the examples as fast as I’m being shown them, Patrick’s slides will be available here soon.

2:17 pm: old and busted: =~. New hotness: ~~.

2:02 pm: on to regular expressions with Patrick.

1:52 am: starting to think Perl 6 should be classified as a performance enhancing drug for programmers. I can’t believe how terse and powerful this stuff is. They should call it Perl 7, it’s got that much more.

1:47 pm: passing parameters to Perl 6 subroutines is going to be heaven. Named parameters are optional by default but may be made to be required with an exclamation point in the subroutine signature. Yummy.

1:36 pm: Patrick Michaud is giving us a Perl 6 101. Sigils are *part* of the variable names in Perl 6. Ruby-like method syntax is really helping a lot of statements to become more concise.

11:32 am: Lunchtime. The part of the conference intended not to bust my brain has officially ended. No more keynotes.

11:30 am: Yaakov is talking about how to get involved in the Perl community.

11:20 am: Jerry Gay is reiterating the promise of using different languages within the same process on the Parrot VM.

11:13 am: Larry’s keynote, which consisted entirely of showing us Perl 6 error messages, is over. Parrot guys next.

11:09 am: old and busted: <STDIN>. New hotness: $*IN.lines

11:07 am: ’strict’ is on by default in Perl 6.

10:45 am: In Perl 6, ‘comb’ is just like ’split’, except you say what you want, not what you don’t want.

10:37 am: Larry Wall is talking about Perl 6 error messages and why it’s hard to read programmers’ minds. And how the need for sane error messages feeds into language design and vice versa.

10:30 am approx: opening keynote by Richard Dice of The Perl Foundation was mostly about budget, grants, etc. There was also a mention of how active the European and Russian Perl communities are, and a new Perl org in Japan.

Perl 6 @ UNH

Perl is used extensively at UNH in both research and operational settings, as either the proverbial ‘glue’ between systems, or as a platform for full-blown applications… and anything in between. That is, Perl 5 is used almost everywhere here… the version first released in 1994 and steadily improved upon ever since. The latest release of Perl 5 is version 5.10.0 from late 2007.

The next major iteration of Perl is version 6, a complete rethinking of the language with many syntax changes, design improvements and new features. Perl developers worldwide have been anticipating the new version for nearly a decade now, and finally we can start to play with this new and intriguing animal.

I’ve installed a Perl 6 compiler (”Rakudo“) on connie.unh.edu and have begun playing around a bit. Rakudo runs on the Parrot virtual machine. For several years now, I have been stalking the Perl 6 and Parrot development teams (at YAPC::NA 2007 in Houston, at OSCON 2008 in Portland, OR… and this year again at YAPC::NA 2009 in Pittsburgh next month) and have attended numerous exciting talks on Perl 6/Parrot by the minds who are making it all happen. I can tell you first hand that these folks are a mighty impressive bunch, and I have no problem continuing to bet my career and good name on the work that this wing of the open source community is doing.

I’ll be keeping the Rakudo and Parrot releases in sync as development continues on both… the perl6 executable is linked to from a common location for convenience:

delgreco@connie[~]: which perl6
/usr/local/bin/perl6

Perl 6 is very different from Perl 5 but also very much the same from a design philosophy perspective. Take “Hello, World!” for an example:

#!/usr/local/bin/perl6
say “Hello, World!”;

As opposed to the more familiar Perl 5 way:

#!/usr/bin/perl
print “Hello, World!\n”;

Not many language revisions actually change the way you’d write a “Hello, World!”, but clearly Larry Wall, creator of Perl and leader of the Perl 6 designers, still values terse expression in Perl.

If you’d like to join me in getting my feet wet with Perl 6, drop me a line and I’ll setup a shell account for you on ‘connie’. It’s also quite easy to install Perl 6 yourself on a UNIX-like system, although it does require both git (to pull the latest Rakudo) and svn (to update from the Parrot repository).

Perl 6 may not yet be ready for use with production systems, but it’s close enough to start getting cozy with.

Panorama theme by Themocracy