In my opinion one of the best and most important talks at last Saturday’s London Perl Workshop was the first talk in the beginners track where Greg McCarroll talked about “Rediscovering the Joys of Perl”. Greg introduced a couple of quick hacks that he had written to make his life better. He went on to say that the best way for a programming language to prove itself is for people to stop building over-complex frameworks (or, worse, talking about building over-complex frameworks) and to just get on and write useful applications. If people took just one idea from from the LPW then I hope if was Greg’s message of “JFDI”.
Greg and I were talking about this in more depth last night and we agreed that the Perl community often suffers from a lack of JFDI. In many ways CPAN has proved to be a double-edged sword. Of course it’s great that it enourages people to write and, more importantly, share reusable code. But on the other hand it often seems that writing reusable code libraries is all that Perl programmers do. There’s precious little evidence of them ever writing useful end-user applications. Of course there are great Perl applications out there, but they seem to be the exception rather than the rule.
During our discussion we came up with a rough and ready way to measure whether what you’re currently doing is JFDI or not. The idea is that if a programmer knows that what they are doing isn’t currently JFDI then they have a strong indication that they would be more productive if they reordered their priorities.
So, I give you the McCarroll-Cross Productivity Indicator (MCPI):
If you can’t explain what you are currently doing to a non-technical person in one short sentence, then you are not JFDI
 “Just Fucking Do It”.