Tonight's was Chicago.pm's Dynamic Language Hootenanny, which, despite the cheesy name, was actually a very good showing of some of the features of Perl vs. Python vs. Ruby. Thanks again to Chris McAvoy for presenting and to Andy Lester for bringing the idea to life.
As far as the languages go, I think that I pretty much get the differences between the three. One really likes white space, two really don't like sigils (at least, that's what they claim though I swear I saw the @ poking its ugly head around in Ruby), and all three really make PHP look like the piece of sh!t that it is :)
So, of all of the talk, there are four things that stood out to me:
1) Ruby and Python don't have a Perlmonks.
Sure, they don't have a CPAN either, but they have the inkling of a CPAN, which is just enough to keep frustrated coders from turning away from the languages. The surprising comment was that ruby-monks and python-monks probably wouldn't work anyway. From Ruby and Python coders perspectives, the cultures just don't allow for something like that to work. I don't really do Python or Ruby, so I'd love to hear if this is true or false and why.
2) Perl doesn't have an interactive interpreter
Yes, it sounds lame... why not just 'perl -de 0' and be done with it. I'll tell you why. 'perl -de 0' is clunky. It just doesn't look as good as 'irb' or 'python'. Would 'alias iperl="perl -de 0"' do the trick. Probably not, but it's close and relatively free. Still, there is no pure interactive interpreter that ships with Perl that I know of.
3) There is nothing new in Perl.
Perl has been around. It has matured. If you need it, whatever it is, it is probably on CPAN. The intention of the presentation tonight was to show an example of an Enigma Machine in Perl, Python and Ruby. Chris had a little trouble with examples in all of the languages, but lo-and-behold, there is an Enigma Machine already on CPAN.
What does this mean? It means that a Perl coder can pretty much just grab pre-built modules and create feature-rich programs with little challenge. What else does this mean? It means that the barrier to entry to being an acknowledged contributing member to the Perl community is higher than that in many other languages. Create a new Ruby templating system? Amazing! Create a new Perl templating system? Add it to the list.
It is very possible that the richness of Perl is actually causing people to develop in other languages because it is easier to be a recognized figure in a burgeoning community. Mature code might be causing smart coders to go to other languages because it is easier to impress their communities than it is to impress a CPAN-worn Perl coder.
This could be good or bad. Possibly the best stick around and make Perl even better. Possibly the best leave and create a Perl equivalent in yet another syntax, adding little to the art of programming. It seems like we are at an interesting time in the evolution of Perl where it is mature enough to be taken seriously by those that we could care less about and yet is too mature to be fun and rewarding to contribute to.
4) Perl is web 1.0
Okay, so this one was one of the comments that really struck a chord with me. Sure, Perl can do web 2.0, but if I am trying grok Perl, what sites really represent Perl? To me there are four: perl.org, perl.com, use.perl.org, and perlmonks.org. Perl.com is in O'Reilly's hands and is beyond most everyone's control because they have to fit into the O'Reilly brand. Still, there is a feel of professionalism to the site. The remaining three sites at least seem more open, but at the same time they are more disheartening. use.perl.org and perlmonks.org are both based on slashcode, which, well, just hasn't seemed to keep up with the times. The look of both is outdated, the RSS feeds that are produced are poor, and the CSS support is mediocre. The content is great, but the usability is just not there based on today's standards. There have even been hacks on the sites trying to create somewhat usable feeds, but even these can't produce a simple usable RSS feed that doesn't suck. And finally Perl.org... it isn't ugly, but it isn't pretty, and it sure isn't something that would drive someone to look deeper into Perl.
Would Perl benefit by taking some of that precious grant money and paying a site designer or, gasp, a marketer to design a new look at feel for Perl that fits into the web today? A new look might drive some of the old Perl faithfuls away, then again, it might bring some new talent into the mix. Luckily, it's not my call.
Overall, this was a great meeting. Tons of conversation and catalyst for hours of thought. Thanks again to everyone for joining us.
Would Perl benefit by taking some of that precious grant money and
paying a site designer or, gasp, a marketer to design a new look at
feel for Perl that fits into the web today? A new look might drive some of the old Perl faithfuls away, then again, it might bring some new talent into the mix. Luckily, it's not my call.
Re:Design...
Lecar_red on 2007-02-22T16:34:54
I completely agree. Being pretty would help sell it to management, managers and those crazy marketing folks.
Manager's like pretty shiny objects... but don't we all
use.perl.org and perlmonks.org are both based on slashcode
Actually Perl Monks uses the Everything engine (or, more likely, a fork of it). Not that this detracts from your main point at all.
Slashdot recently had a bit of a redesign - so I can't see why use.perl can't have one too. I strongly suspect that the only reason it hasn't is a lack of resources (whether that's time, money, tuits or something else).
Re: Chicago.pm and conversations about Perl
scot on 2007-02-21T22:12:40
I recall a series of posts by chromatic over at perl.org in which he blogged about refactoring the Everything Engine. Did any of that work make its way into the Perlmonks site?Re: Chicago.pm and conversations about Perl
chromatic on 2007-02-22T17:52:01
Unfortunately, not yet. Everything needs more work before it's compelling even to consider migrating Perl Monks to a newer version, and it's not a priority for anyone working on it.
And whaddya mean "cheesy name"!?!?!?
Re:Hootenanny
jmcada on 2007-02-21T16:54:36
Maybe cheesy was harsh... had someone shown up with a banjo I might have let the name go unmentioned:) Re:Hootenanny
petdance on 2007-02-21T19:04:09
Don't think we didn't consider it!
A RubyMonks would fail because it would be redundant. There's nothing it does that comp.lang.ruby doesn't already accomplish. Nothing I care about, anyway.
A Perl progammer I met who also does Ruby told me once that PerlMonks was a friendlier version of comp.lang.perl.misc, which I thought was a pretty telling comment.
Re:No RubyMonks
chromatic on 2007-02-21T18:39:49
A RubyMonks would fail because it would be redundant. There's nothing it does that comp.lang.ruby doesn't already accomplish.It works in a web browser, for one--or does the web interface to c.l.r really not make you want to stab yourself in the face with cutlery?
Re:No RubyMonks
djberg96 on 2007-02-22T15:01:02
Well, if Google would stop screwing with the interface...Anyway, there's also ruby-forum. There are other Ruby forums out there, too, I think. That's another reason a RubyMonks wouldn't really work - the "market" is already saturated.
Re:No RubyMonks
Burak on 2008-06-04T08:30:37
I've never liked newsgroups and did not use comp.lang.perl.misc that much. I like the "friendlier" version though:)
It does now, thanks to mst.
It still needs some docs and other stuff, but IIRC those are coming too. mst is also blogging about developing the REPL with Moose.