http://www.perlmonks.org?node_id=561436


in reply to Perl is dying

What’s amazing is that the Perl community not only accepts and encourages bad code, it’s outright hostile to those who don’t.

Are we in the same community? I’ve seen that sort of behaviour in isolated programmer cliques that have no connection to the Perl community at large and where Perl is used for what are deemed throwaway tasks – such people often develop weird notions about the value of cleverness or even outright golfing. But the larger community? Perlmonks has a sometimes unhealthy obsession with strict and warnings. I’ve been evangelizing three-arg open, tightly scoped variables, the use of foreach(LIST) over for(;;) etc. wherever it isn’t too wildly off-topic. There were long threads about inside-out objects on Perlmonks ages before they showed up in Perl Best Practices. TAP, the Test Anything Protocol that originated from the Test::Harness family of modules, is being absorbed by other languages. I could go on endlessly about the ways in which the Perl community really cares about code quality and is at the forefront of innovation and evangelism in that area.

I’m not saying you can’t use those features, but the level of hackishness and amateurism I see regularly in Perl scripts is appalling. It seems like terseness wins out over clarity every single time.

No doubt, but the level of roundabout pretzel logic and amateurism I see regularly in Java code is appalling too. It seems verbosity wins out over clarity every single time.

Terseness is not the opposite of clarity. That’s verbosity. Clarity lies somewhere half-way between the extremes, but finding the balance that achieves it is a really hard discipline that few people master.

Makeshifts last the longest.