Archive for the 'Perl6' Category

Dec 18 2007

Happy 20th Perl!

Published by Chris McAvoy under Perl, Perl6

Article in Wired.

Clearly you and I have moved on, but I still occasionally whip you out to write one-off backup scripts, or to munge up a big text file. You and I had a really great time together. You helped me build a career, we had a lot of laughs, and a lot of sigils. Happy 20th Perl.

No responses yet

Mar 30 2007

Why Python 3k Shouldn’t Be Ruby (and a mention of Erlang)

Published by Chris McAvoy under Python, Ruby, Perl, Perl6, Erlang

Just a quick response to this write up on the lack of growth in Python 3000. Python 3000 really isn’t the giant sea change that I thought it was going to be. Most of the significant work is under the covers, optimizations that will benefit me without me necessarily knowing it. The author of the above post (I’m sorry, I couldn’t find the author’s name), like me, is a fan of Ruby and Python. I think he wants Python 3000 to take on some of the traits we both love about Ruby (extreme flexibility, cleverness, many ways to do it). I know where he’s coming from, but that wouldn’t be very ‘Pythonic,’ it would be ‘Rubyonic.’

One of my favorite bits about being a polyglot is the differences between languages. What’s the point of making Python like Ruby? What’s the point of making Perl like Python? If everyone is sort of doing the same thing, where’s the fun in learning new stuff? I love Python, I love Ruby, I even love Perl. Let’s preserve their differences. Python doesn’t want you to muck around with the syntax, Ruby does. Use Ruby when appropriate, use Python when appropriate. Right?

Speaking of polyglotism, I bought that Prag-Prog Errrrrlang book over the weekend. All variables are constant, and must start with a capital letter. How’s that for balls nuts? Woo hoo! Viva la Different!

2 responses so far

Feb 20 2007

Notes for Tonight’s Chicago.pm Meeting

Published by Chris McAvoy under Blog, Python, Ruby, Projects, Perl, Perl6

I’m presenting tonight at the Chicago Perl Monger’s meeting. I’m giving a tour of some stuff that might appeal to Perl programmers who want to learn new languages. I’m focusing on Ruby and Python. Here are the notes, they’re also available in my public subversion repository:

Language Hootenanny

Notes for the language hootenanny presentation at February’s Chicago.pm meetings.

Agenda

  1. A little bit about me
  2. Find out what everyone wants to know
  3. Language overview
    1. for each language, a brief discussion about its culture, philosophy, and resources. Then the one thing about it that’s really “cool” and some code samples.

What I like about a language

Object oriented, good testing framework, great documentation, fun community, lots of libraries, web stuff. Also, interactive shells…the total time it takes to learn a language is cut down considerably if you have an interactive shell to play with. They’re pretty standard anymore, so this is usually just a given.

Classifying languages

There’s really two kinds of languages in my book, the kind you can make money from and the kind you learn for fun.

Ruby

Resources

My recommendation to learn Ruby is to buy the pickaxe book, and start playing around with it. why’s guide is also good, but it is _pretty quirky, so be prepared. The pickaxe is better if you’re already familiar with object oriented programming and you want to learn Ruby.

One cool thing

Blocks

Python

Resources

The best way to learn Python is to jump into the Python tutorial on the website, then skip around “Dive Into Python.”

One cool thing

List comprehensions.

Perl 6

Resources

PHP?

I haven’t been keeping up with the PHP community enough to really be able to tell you what’s up. I do know that PHP5 is interesting. Discuss amongst yourselves if anyone is interested in PHP.

Other Stuff I Don’t Know (but would like to learn)

Haskell, Lisp

Stuff that other people want to learn, but I’m not so sure about yet.

Erlang, REBOL

No responses yet

Nov 15 2006

Parrot Overview

Published by Chris McAvoy under Blog, Perl6

A few of my work pals went to the Perl hack-a-thon this past weekend. They came back bearing gifts, including a great pdf on Parrot. Although I haven’t done much with the idea, I’m accumulating a lot of “how do you write a programming language” resources as of late. I don’t know where this is all leading, but it’s certainly fun to collect resources.

No responses yet

Oct 16 2006

Pugs in your browser

Published by Chris McAvoy under Blog, Perl6

You can now try Perl 6 in your browser. Hot on the heels of the try ruby in your browser “movement”, Pugs is now browser worthy.

No responses yet

Sep 19 2006

Better Perl 6 Documentation

Published by Chris McAvoy under Projects, Perl6

As I’ve documented learning Perl 6 from the Synopses is difficult. I’m not entirely sure why I’ve never come across this before, but there’s much better documentation at perlcabal.org.

Reading through it has got me hopped up on Perl 6 again. Tech Coffee is currently on hiatus, and I have a handful of Victim of Time tasks to take care of. Once VoT is back in shape I plan on putting some time into a visible Perl 6 project. As I’m totally in love with the web, so I figured I’d try and build a simple something or other on top of the ported libwww library or the straight CGI library.

All that said, I’m notorious for writing checks my time can’t cash. We’ll see how it plays out.

2 responses so far

Aug 28 2006

More Perl6

Published by Chris McAvoy under Perl6, TechCoffee

For this season’s last TechCoffee, I spent some more time toying with Perl6. I won’t be able to check the code in until tonight, but thought I’d summarize. There were more side conversations today than in the past, which was fun, but hit me in the productivity department.

I downshifted a bit, kicked in the turbo boosters, and quit namby pambing around with the little crap. I went straight for the junk and read up on subroutine argument passing, something that’s been lacking in Perl since 199*.

So long sub this { my $arg = shift; }, hello sub this ($arg1, $arg2, $arg3) {}.

In addition to purely positional arguments, you can also pass named arguments sub named (:$cats, :$dogs) {}, or lists sub lister(*@listofargs) {} and hashes sub hasher(*%hashofargs) {}

No responses yet

Aug 17 2006

Today is my Birthday

I’m 30!

So, expect a lot more mature blogging now, instead of all this hot open source stuff I’ve been tossing out at you. Now that I’m an old man, I’m pretty sure I’ll be writing Java or C#, kicking back with my enterprise friends, chatting about the power of waterfall.

So long 20’s, I barely knew you.

3 responses so far

Jul 31 2006

More Perl6 and TechCoffee

Published by Chris McAvoy under Projects, Perl6, TechCoffee

Went to my second TechCoffee this morning. I sort of completed Synopses 2. I sped through the last couple of pages. I want to jump into other stuff. Along the way, I spent some time moving some of the script I wrote last time into a Test.pm style test suite. It makes more sense to try and write this stuff as tests, at least it seems to right this minute. I spent some time hacking around with Test.pm. I tried to add a &eval_not_ok test function, but ended up breaking it. I also played around with the YAML compilation of P6 modules with PUGS, but didn’t have much luck. I think I used the wrong backend. I’m not totally firing on all cylinders this morning.

No responses yet

Jul 17 2006

TechCoffee, Playing with Perl 6

Published by Chris McAvoy under Projects, Perl6, TechCoffee

I went to my first TechCoffee this morning. I want to use that valuable, early morning, low stress, bleary eyed time to explore Perl 6. I’m working through the synopses one at a time, and keeping notes as I go. The notes are executable. I’m checking them into my public repository here http://lonelylion.com/mcavoy_public/perl6_play/

They’re pretty train of thought, so they’re probably confusing. I tried to backtrack occasionally to write a wee bit more for people that aren’t me. I may end up jumping around the synopses a bit, as I’m not entirely sure the order is important.

I worked through the first ten pages of synopses 2 today. That’s about 1/3rd of the way through. Notes are here. It’s jumping around to a lot of concepts (like OO) that haven’t been introduced yet, which leads me to believe the synopses aren’t meant to be read in order, the numbering is just a tie back to the apocalypses and exegesis.

At this velocity, I should be done with all the synopses in July 2007. Egads. I won’t be able to make TechCoffee every week. I’m shooting for alternating Mondays. So I should be able to cover a synopses a month. I’ll probably poke around on the train too, so July 2007 might be a bit of exageration. I don’t anticipate being through these things anytime soon though. I want to take my time. This is an interesting project for me, I’m used to living in the “Learning [insert language]” book from O’Reilly tier of learning. This is a big change.

No responses yet