Posts tagged: perl6

YAPC::NA Pittsburgh: Day 2

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

3:37 pm: for some reason they are running two sessions instead of three right now, meaning they are both standing room only. The guy talking about social networks is beating around the bush. Your reporter grows tired…

3:09 pm: now a talk about legacy apps. Unfortunately I am having trouble understanding the speaker, which seems almost an apt metaphor for trying to understand the code in inherited legacy apps.

2:36 pm: all in all a pretty balanced, though bawdy, talk by Matt Trout. My final impression is that Perl 5 is reaching a critical mass and we need Perl 6 sooner than later, at least if the quest for good standards is to reach any kind of fulfillment.

2:20 pm: he’s pushing Catalyst (another web application framework) now. Ah… it’s his project. It all makes sense now. :)

2:17 pm: now he is dissing on CGI::Application and how the plugins are a bit of a “free for all”.

2:07 pm: another meme kicked off in “The Mythical Man-Month”: Second-System Effect.

2:04 pm: Matt Trout is giving a pretty funny and philosophical talk.

1:57 pm: now attending a session entitled “Catching a ::STD” which is a pun on the Perl 6 standards doc (well actually a module) maintained by Larry.

1:51 pm: Recession alert: there are some very talented unemployed people here.

1:49 pm: I’m probably crusty or resistant, but, it seems like POE and Moose are sledgehammers for finishing nails as far as what I am needing. These things were designed with large systems in mind.

1:21 pm: now attending a session on POE::Filters.

11:31 am: second recommendation for Devel::NYTProf this conference. I think I might check this out. Project was started by the New York Times and is now maintained by Tim Bunce.

11:26 am: this is turning into a Moose session.

11:19 am: now a talk about XML::Toolkit.

11:02 am: Jim makes the point that you can’t program the office workflow without support from above. Grassroots workflow efforts don’t work. I’ve found that to be true as well– adoption needs to be forced for certain applications to work.

10:50 am: not sure that Workflow.pm is for me, I’d probably just roll my own. None of these scenarios are tough to code on their own, IMHO. Maybe I’m missing something.

10:36 am: finally, code!

10:34 am: still no code. This guy is obviously smart and coping as well as he can in some hellish corporate sweatshop. Code though? He’s probably been told not to show code in presentations by his business people.

10:26 am: Jim Brandt is being descriptive about business workflows but I want to see the code.

10:18 am: The email talk is over; onto a talk about business process management with Workflow.pm. This will either be eye opening or completely off base.

10:14 am: I wonder if I will remember this presentation after being burned by email two or three more times and finally take this guy’s advice.

10:10 am: now he’s selling me on Email::MIME::Kit. We’ll see, I guess. I am about to open the email can of worms again on the SSR application.

10:05 am: starting to fear that I shouldn’t be using Email::Send. Ricardo is selling me on Email::Sender.

9:57 am: Ricardo Signes is talking about his on and off romance with handling email as a Perl programmer. Now he is mentioning some of the common modules that are used.

9:54 am: just got out of chromatic’s standing-room-only talk on “Modern Perl”, which is an effort to make Perl 5 the best it can be. They added another talk on the topic due to the interest.

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