Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^6: Amicable divorce

by chromatic (Archbishop)
on Jul 16, 2020 at 17:37 UTC ( #11119419=note: print w/replies, xml ) Need Help??


in reply to Re^5: Amicable divorce
in thread Amicable divorce

From the perspective of a manager who is looking only at the feature lists, what is gained by that change? The "after" feature list looks just like the "before" feature list.

Sure, but why should anyone care what a really bad manager thinks? If we're going to chase the lemon market of terrible management, we're not going to get what we want.

Perl developers can jump to other languages much more easily, and breaking backwards compatibility to the point of needing significant rewrites has a much lower threshold for those rewrites to go to some other language if there is the slightest hint that it could happen again.

Ah, but from the perspective of a manager who is looking only at the feature lists, what is gained by that rewrite to some other language? The after feature list looks just like the before feature list!

I think your argument here wants it both ways.

Accordingly, I argue that backwards compatibility must not be broken without very, very, very good reasons ó and the advice in PBP does not meet that threshold for a language that famously touts TIMTOWTDI.

There aren't very many people arguing seriously that backwards compatibility should be broken willy-nilly, but there seem to be several people arguing that other people are arguing that. That makes it difficult for me to take this argument seriously.

My argument is that backwards compatibility is largely a good thing, but it's less important than:

  • Improving the default experience for new programmers
  • Fixing bugs and security flaws
  • Adding long-missing features

The argument in favor of maintaining strict backwards compatibility has lost (. in @INC by default, hash randomization, do &sub syntax, pseudohashes, unescaped { in regular expressions, mandatory parentheses around quoted lists in iterations), and it's prioritizing use cases that neither contribute to Perl development nor have a coherent use case.

I'll expand on the latter. What do we know about a project that's still deployed on Perl 5.6.1? We know:

  • They're not using much of the CPAN
  • They're not particularly interested in new Perl language features
  • They don't care about support from p5p or distributions
  • They don't care about security
  • If they're investing in their code, they're not considering any external factors as important

What benefit is there in releasing a Perl 5.34 designed to support them that they will not update to (which we know because they haven't updated to 5.8.0, 5.8.1, 5.8.2, 5.8.3, et al)?

They have chosen their support burden—lack of community support, lack of security features, backporting patches they want, dwindling OS and compiler toolchain support—so why put a greater support burden on people who actively do contribute to the language and the language ecosystem?

Replies are listed 'Best First'.
Re^7: Amicable divorce
by jcb (Vicar) on Jul 17, 2020 at 03:00 UTC
    lemon market of terrible management

    That is a great way of describing it.

    Ah, but from the perspective of a manager who is looking only at the feature lists, what is gained by that rewrite to some other language? The after feature list looks just like the before feature list!

    These represent different audiences: the manager looking only at feature lists objects to rewriting the code at all, while the programmer considering a rewrite to another language is seeking to make "this" rewrite "the last one" or at least to minimize the chances of having to do this all over again. The typical PHP programmer only knows PHP — programmers who learn other languages tend to move to those other languages. The typical Perl programmer can be expected to already know other languages but has stayed with Perl because of its nice features.

    There aren't very many people arguing seriously that backwards compatibility should be broken willy-nilly, but there seem to be several people arguing that other people are arguing that.

    The problem is that it was reported that the individual leading the push for Perl 7 advocated breaking backwards compatibility not for any of the reasons you listed but for purely stylistic reasons. Removing features from the TIMTOWTDI language because you do not like the syntax is not an acceptable precedent to set because then the next guy has different tastes, so removes other features, and the next-next guy does not like something else, and eventually you have a Fahrenheit 451 language (the mass-banning of books in that story began with a little censorship here and a little there, all from different groups with their own proverbial axes to grind) that makes PHP look good by comparison. Every feature removed makes Perl a little poorer. Sometimes there can be improvements to the interpreter that are worth that cost, making Perl richer somewhere else, but citing PBP does not support such a claim.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11119419]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (9)
As of 2020-09-21 13:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If at first I donít succeed, I Ö










    Results (126 votes). Check out past polls.

    Notices?