in reply to Perl 5 <-> Perl 6 compatibility: a benefit or a mess?

The idea of what is a major version and what is a minor version has changed over time. A major version for most software products has always been necessary for revolutionary developments in the language. Minor versions used generally to be invisible to the public until the 1980s. To take a couple of examples from history ... Fortran 77 converted Fortran IV from a fixed format punched card dinosaur into a free format new one with all the block structured bells and whistles of Algol and later Pascal. A particularly interesting thing happened to Sybase version numbering. It went from 4.9 to 10 and then 11, because the minor versions were becoming major and the minor-minor needed to be upgraded to just "minor". 10 was a rewrite of the engine whereas 11 introduced revolutionary new language features such as declarative referential integrity.

Backward compatibility may be commonly found for compiled languages (C programs compile under C++ and Fortran IV under Fortran 77) but this tends no longer to be true for some major SQL versions. But to say that you need 100% backward compatibility or a new language name. I don't see any precendent for that. On the contrary, the most famous interpreted language of all, BASIC, makes Perl 6 look like a Paragon of compatibility. The original Dartmouth BASIC programs wouldn't scan (parse) under any of the minicomputer implementations of the 70's and 80's. In particular, by the time all the PDP-11 BASIC+ BASIC+2 and BASIC-11 (which required $ on the end of strings and % on the end of integers) were assimilated into the Borg (a.k.a VAX BASIC), where variables could be declared and, like Fortran 77, lots of block structured gadgets appeared, you had something a Dartmouth BASIC programmer wouldn't even recognise from one word to the next. (Update: and I might as well ignore VB as not really trying to be a compatible derivative of BASIC!)

Update: note that I couldn't find a really analogous unix interpreted language - hence all the VAX references, but unix didn't have a "killer" interpreter like VAX BASIC - that is until Perl came along!

On that basis and in conclusion, I feel that Perl 6 doesn't really set any new precedents by not offering 100% upward-compatibility and that BASIC sets the precedent the other way!

__________________________________________________________________________________

^M Free your mind!

  • Comment on Nah -- major version often means revolutionary change