Thoughts from my Houston Perl mongers appearance

After practicing a proto-talk--and getting very good feedback--at the Houston Perl mongers meeting last week, I wanted to pass on some of the points that came up over beers on the patio of Velvet Melvin Pub. Discuss, or not.

  • I've talked and written a lot about modulinos, and I've always thought about translating the way into the program, translating command-line invocations to the module calling interface. A couple people brought up issues on the way out too--you need to translate any errors to a proper exit code.
  • Someone asked me which language I thought people should learn. I said they should look around at the sort of people who use that language, decide which group they liked best, and do that one. If you like the people who develop in Perl, you're likely to enjoy Perl. It's like collaborative filtering in reverse: you get to see the sample instead of the result.

  • We were talking about sucky web forms that are really just fancy database interfaces. I posited that it was programmers who couldn't design their way out of a room with no walls, so they make a series of web forms that map easily onto their ORM, step by step. Another person had a different and more interesting experience: in some places, automation through the web routes around mostly useless jobs, and by consequence, the people that hold those jobs. Those jobs are part of the fiefdom of the manager, and the larger kingdom of the higher managers. Part of the unwritten design constraint is that nobody loses their job. I've seen that before, too, but never thought of it like that. Part of the problem becomes batching things so a human can inspect them later, so the series of forms more closely resembles an in-person interview.

  • Jupiter and Venus were almost in conjunction, with Venus being very high in the sky. Each new Perl monger showing up on the bar patio would pull out a smart phone with an augmented reality astronomy app to look at it. Somehow that led to a joke about debating cordless drills, at which point I said that I just bought a corded one for more torque. Someone said I should just get a higher voltage version. I had thought about that, but the torque still degrades as the battery discharges, and the fancy pro versions are 10 times more expensive. It was the geekiest moment of the night and had nothing to do with Perl.

  • We talked briefly about Moose. Does it do a better job of teaching people to program or is it just another mysterious syntax that people cargo cult? Does the different syntax teach better structure or do people still end up with poorly-architected systems, just with prettier syntax? We only talked about this briefly and there was no decision. I think it's an interesting thing to consider.


I use a corded phone for more torque time.

I found that it was important to grokking Moose (and Inline and a few others) to realize that the fat comma is a comma and that a parenthesis in a list is essentially a no-op. This means that the arguments to `has` is just a list. As a new Perler I stayed away from Moose because I didn't get that and I couldn't understand it. Once I had Perled for a while I came back and could see that it was just a cute look for a list. Perhaps the first look at Moose should be with a simple list, then the instructor can introduce the more usual Moose syntax and say "it just looks nicer".

Hi brian,

Any talk on modulinos available online? I'm also interested in modules programs duality, and have written several CPAN modules for this.

Leave a comment

About brian d foy

user-pic I'm the author of Mastering Perl, and the co-author of Learning Perl (6th Edition), Intermediate Perl, Programming Perl (4th Edition) and Effective Perl Programming (2nd Edition).