Re: But "bugs fixed" doesn't equal "bugs in code" and may not even be proportional
Good point - the "higher level" the language, it seems, the more likely there are bugs in the language itself. It's not likely you're one of the maintainers who can fix it, but I've found that if you do - and it's a for-real good fix, most projects will thankfully accept it. They mostly reject lazy whining or poor fixes that have their own issues. It's something the fad-boys don't understand - age doesn't make something bad, it means it's survived and probably been looked after better than your latest fad has.
I could take complaints about perl personally, being somewhat expert in it and having written rather a lot of it for cases where programmer time was more important than cpu cycles. But what I find is that it's an extreme case of "Enough rope to shoot yourself in the foot". Languages DO differ there. But there's another side to that coin. And more than one sort of rope - needing a page to do what one line can do isn't necessarily more clear to the observer. Depends on the line and the page.
I can show people my own perl code and they ask what language it's in, as it's so clear and obvious what it does - that same freedom to write horrible code can be used to write great, even beautiful, code. True, not that many people do that, but that's an indictment of humans, not a language. I kind of like the freedom to stand out as being hyper-competent.
Funny that a lot of complaints about perl center around regular expressions, which it kinda helped make popular in a big way. And now they're in all languages, some even boast of perl compatibility. And they still look horrible and shouldn't be used to make the coder feel special about his cleverness...no matter the language they're embedded in.
It's just not a bubble wrapped world, and I'm glad of that for lots of reasons. There has to be some way to differentiate the competent from the losers. Some encouragement to be better.
And as a now-old dude who sometimes wants to go back and modify or perhaps reuse some of my older code - having forgotten just how I approached something, I've long since learned how to do really good naming and comments, and do so religiously. I'll even put in a section that describes "what was I thinking" as often as not.
And I find doing that makes any language a lot better than your average garbage on github. Or websites with stack in their name.
If you see something like "i++; # increment i" in my code, you have permission to beat me senseless.
unless (code_is_clearly_making_sense) while(coder_still_breathing) {swing_club(target => coder);}
Ok, I left out the sigil noise...but is that write-only?