12 ms·
This pretty much applies to many other languages too. As new constructs get added but old ones are not deprecated or even removed. Then again, removing languag
by pilif 16y ago
This pretty much applies to many other languages too. As new constructs get added but old ones are not deprecated or even removed.
Then again, removing language constructs is a sure-fire way not to get any adoption of the new version (cf. Python 3).
In my case, it's not old Perl idioms that stick around, it's old PHP idioms. Like Perl, PHP too has moved forward, especially with 5.3. But because the old code continues to work ad-infinitum (how many years did it take for PHP 4 to die? Right. It's still alive, even though most PHP4 code runs unaltered in PHP5), nobody is taking advantage of the new features.
While I can understand this in public projects (you want to be as broadly compatible as possible), for private projects, I certainly would want to use the latest and greatest as it helps both keeping the code clean and future-proof it.
Here in the office, we've introduced the concept of a raptor incident (http://xkcd.com/292/ http://xkcd.com/292/). We use this to denote old idioms being used and general lazyness-related code smells.
We are counting the raptor free days and whoever causes a raptor incident will get the the accumulated stack of post-its with incrementing numbers counting the raptor-free days.
It already helped tremendously at keeping people concerned about their output.