4 ms·
There's a concept in programming language design called "weirdness budget". There's only a finite amount of idiosyncratic syntax and semantics your language is
by Sharlin 7y ago
There's a concept in programming language design called "weirdness budget". There's only a finite amount of idiosyncratic syntax and semantics your language is allowed to have before it starts to turn off potential adapters because it looks too unfamiliar, too unintuitive, or too opinionated compared to what they already know.
Perl has never cared what the mainstream programmer community thinks. It is willfully and deliberately weird; when it adopts or reinvents concepts from other languages it does it in a way that seems purposively quirky; it invents bespoke vocabulary for things that already have well-established names. The Perl community appears cultish, lacking a certain self-awareness and cognizance of the programming world at large. It's like an alternate timeline where everything seems eerily off in some way.
Perl blew its weirdness budget a long time ago and never cared. And given its well-deserved reputation as a write-only language, it's no wonder at all that people don't take it entirely seriously.
- ryl00 7y agoI don't think this is correct. If you come from Unix programming, perl should not at all be unfamiliar. It was an intentional amalgamation of shell, sed, awk, etc. And there was a time when that was the "mainstream" programmer community.
- Sharlin 7y agoI think the key word is "was". Yes, in the beginning it was a pretty straightforward amalgamation of a bunch of standard Unix tools. (Although it should be noted that those were even then in a separate category from languages meant for application programming!) But that's where the Perl timeline started to diverge from the mainstream, in which production-ready programming languages have mostly grown to agree on basic concepts and terminology, and to emphasize design principles like clarity over cleverness and readability over writability.
- nathancahill 7y agoNot sure if I agree. Ruby is a language founded on quirkyness and bespoke vocabulary. They've certainly blown their "weirdness budget" too, but it has a large following.
- Sharlin 7y agoRuby is an interesting data point. I only know the basics, but I've never thought of it being particularly weird, except maybe for its emphasis on runtime reflection and "monkey-patching", and yes, the vocabulary, which I believe partially stems from its creator being Japanese. It's still a fairly niche language, and I believe Ruby on Rails has had a lot to do with whatever popularity it has garnered in the West.