in reply to Re: Modernizing the Postmodern Language?
in thread Modernizing the Postmodern Language?

Modernizations worth breaking existing perl code

In my list there are two kind of reasons why backward compatibility could be broken:

  1. Sane behavior and completing already implemented features: for instance, all the bugs related to Unicode; Windows support; prototypes that really allow me to mimic any builtin; etc. There are lots of edge cases that perl does not handle correctly.
  2. Extensions that let me solve problems in different ways, or in other words, support for other programming paradigms: massive multi-threading; async programming, co-routines; type declarations; a modern, full-fledged object system; multi-methods; a proper exception system, that is used from the core; support for new platforms as the JVM, Android, the browser; binary compilation; etc.

In general, I don't think backward compatibility should be broken for features that are merely syntax sugar, specially when they can be activated on demand using a use feature foo or use v13 pragmas.