Solitude is a Drawback of Perl Productivity

One of the drawbacks to being the only non-contract technical person working for Big Blue Marble is that a lot of the technical work that happens happens only because I do it.

(See Loaded for Werewolf, Why I Use Perl: Reliability, and Why I Use Perl: Testing for three discussions of Perl and productivity.)

While Perl's efficacy and whipupitude means that an experienced programmer like me can get a lot done (maintaining tens of thousands of lines of code with ease and growing projects while keeping them under tens of thousands of lines of code) and Perl's shallow (but lengthy) learning curve means that a novice programmer can get things done without having to learn much, and while all of this suggests that you don't need a small army of coders to accomplish many tasks, some of us do work in isolation. (See Perl without IRC.)

This is a truism of modern programming in general, not entirely specific to Perl. If you know the bare minimum of how to automate repeated tasks with a computer, you're a superhero.

You don't have to know about computability or the universal Turing machine or the lambda calculus or algorithmic notation or linked lists or—heaven help us all—pointers to turn a repetitive task that'd take a person a boring afternoon to do every month into something that an excited person can review in a couple of minutes and get to work doing something better.

... but that power can also be isolating.

I don't need to know how to write my own webserver (even though I've written a couple from socket programming on up) to deploy a robust application stack with Apache or nginx and Plack. Knowing how webservers work helps, but I can find a couple of good tutorials and download a few dependencies and go on to interesting things.

Maybe one of the reasons the global Perl community is so spread out and disconnected from the core Perl community is that we're just too productive. We're system administrators and automators and toolsmiths each working in these strictly focused niches and our tools are powerful enough that we don't always feel the need to work with other people to get things done.

Sometimes that means we make messes and spend far too long chasing the wild geese before we rein ourselves back in to something more useful.

Yet I suspect that we walk a balance between being just productive enough that we can avoid collaboration and having blinders on to the benefits of showing our work to other people.

(Polemic statement I can't quite support: the global PHP community is slightly more cohesive because it's almost a requirement that you browse continually to figure out what you're supposed to be doing, or at least what will get you close enough.)

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

sponsored by the How to Make a Smoothie guide



About this Entry

This page contains a single entry by chromatic published on October 5, 2012 9:18 AM.

Code Injection with eval require was the previous entry in this blog.

BEGIN-time Initialization versus Testing is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by the Perl programming language

what is programming?