The fact that say reverse 'foo' doesn't reverse the string (even though reverse is the recommended way to reverse a string) is just wrong.
IMO the fact that you consider context to be a flaw rather than a strength is indicative of the reason why Perl5 has seen a decline in absolute popularity(*) over the past 10 years.
Instead of celebrating Perl's unique characteristics; explaining their utility and exploring their merits; highlighting and contrasting the effective productivity that results from having a language and language constructs that favour the concise and simple construction of algorithms for the common cases over the theoretical niceties of full orthogonality; the Perl community has become apologist for not being like every other language -- verbose, laborious and painstaking in putting the desires of the grammar theorists over and above the requirements for code development and the needs of the developers.
The pedants and purists have done far more damage to the prospects of Perl, than all of the discontinuities they perceive, put together.
If language is defined as a means of capturing and communicating complex ideas; then there is simply no need for a language -- computer or otherwise -- to comply with, nor be constrained by, any grammatically perfect set of definitions or rules.
Take any natural language. They all have their anomalies and discontinuities. They have homographs, and homophones, and heteronyms, and heterographs, and synonyms, and polysemes. They have ambiguities and contextualities and disorthoganalities. They are flexible and fluid and living, evolving entities. Indeed, it is the anomalies of natural languages that we human beings most delight in and celebrate.
When was the last time you saw one of those verbose and tortuous amalgamations, of boiler-plate phrases with prescribed meanings, studiously devoid of proscribed constructs, so beloved of the law-making and law-enforcing professions; win awards or plaudits for its construction?
In fact, it is exactly the opposite of those that we celebrate. Poetry and prose in all its diverse forms would be almost non-existent if it all had to comply with some set -- whichever set, assuming you could get agreement on a single set -- of formally defined rules of grammar.
What I see over the last 10 years is that instead of explaining, justifying, and indeed, celebrating that we use a language that favours capturing the semantic needs of the common case, with concise and efficient syntax; we've become collectively apologetic for the disorthoganalities that arise from the pragmatic favouring of utility and practicality, over academic nicety and theoretical purity.
Perl5 has its great strengths -- born of its unique qualities not despite them. And the way to reinvigorate Perl as a language and development environment is to embrace those strengths not deny them. To explain, teach and laud those unique qualities; and to build upon them whilst staying true to the original design philosophy of the language.
As the number of programmers grows -- especially through the creation of entirely new markets for software; eg. mobile/tablet/SmartTV/SmartDash apps -- the relative proportion of Perl programmers has fallen due to there being no viable Perl presence -- nor possibility for it -- in those market places. That's further weakened by the near absence of Perl in the cloud market place; mostly due to Google preferring Python to Perl.
I perceive that there is also a fall-off in the absolute number of Perl programmers. In part this is due to there having been some proportion of people using Perl that came to it because it was the in-thing at the time. They've since migrated away to RoR or PHP; then Objective-C or Java; and will shortly be looking to GO or Dart or whatever else they think will make up for their inabilities as programmers.
In part it is because Perl(5) reached a point where it was due for an upgrade; but despite the coming and going of many Christmases, that upgrade has never arrived. The result is that Perl5 first stagnated; then started a phase of trying to evolve through a) prosthetics: the rapid adoption of ill-designed and badly integrated stick-ons; and b) comb-overs, wigs and plastic surgery: cosmetic makeovers designed to flatter and conceal rather than modify the underlying nature of the beast.
Like sticking a side-car on a motor bike and calling it a car; or wrapping over a 40 year-old veedub chassis in a plastic facsimile of a GT40 and calling it a race car; both forms of 'evolution' are transparent failures.
In reply to Re^2: A Melancholy Monkday
by BrowserUk
in thread A Melancholy Monkday
by starX
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |