Sense & Maintainability

There is empirical evidence that Perl is an inherently maintainable language. The Software Productivity Research group have published 2 comprehensive surveys of programmer productivity across different languages and problem domains. One was published in 1996, the other in 2006. The results in both are consistent - for overall perl productivity scores & when perl is compared against other popular languages.

Function points were used as the data collection method and the survey covered the whole dev lifecycle. The actual figures are not too important - suffice it to say that both surveys found that perl is far more productive than C & generally significantly more productive than Java.

SQL scores even higher, btw, albeit in its specialist field of relational data manipulation.

Productivity != Maintainability though?

True - but to be productive throughout the lifecycle the maintainability must be at-worst acceptable w.r.t to design,implement,test.

Naturally questions can asked of the method & the results. SPR themselves spell out the limitations, so take with appropriate seasoning. That said the consistency of the results might induce speculation on:


  • Why the productivity measures of perl & other languages remained similar - why didn't OO, automated testing etc produce spectacular increases?

  • Why many folk seem to think perl by default leads to development of unmaintainable code.

  • Why so many folk regard SQL as unsuitable for anything other than CRUD.

  • What, in fact, is maintainability? How do you measure it?.

The last question is of practical importance. In my experience it is frequent that designs sophisticated-beyond-the-call-of-the-requirements are justified on the grounds "It will increase maintainability". I've done it myself.

But how such assertions be tested? Perhaps the only accurate way to measure maintainability is retrospectively. And for this to be practical soft. dev as a whole would need widely available, detailed, records of development experiences.

Which requires a balanced sense of what has gone before.


Leave a comment

About mrstlee

user-pic Is it just me or is perl too much fun to be shared with the unworthy?