Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^4: A wholly inadequate reply to an Anonymous Monk

by Anonymous Monk
on Apr 23, 2010 at 10:28 UTC ( #836489=note: print w/replies, xml ) Need Help??

in reply to Re^3: A wholly inadequate reply to an Anonymous Monk
in thread A wholly inadequate reply to an Anonymous Monk

Eight years for Python 3 is a selective example. Much of that time was spent dragging their feet because they were in no hurry.

A much better example is PHP 4 to PHP 5. Now, we can all agree that PHP is a pile of dung but PHP 5 is much *much* better than version 5. And it took just 4 years (first 4 release: 2000, first 5 release: 2004).

The Perl core was already good in 2000. I'd like to have seen what a similar effort without the constrains of backwards compatibility would have been like *without going too wild*.

  • Comment on Re^4: A wholly inadequate reply to an Anonymous Monk

Replies are listed 'Best First'.
Re^5: A wholly inadequate reply to an Anonymous Monk
by mr_mischief (Monsignor) on May 01, 2010 at 03:53 UTC

    Well, there is (was) Topaz and then there's Kurila (or maybe a better link to it?).

    Perl 5 has one aborted attempt to further it, one terribly out of the mainstream fork, and then there's all the progress that has been made between official Perl 5.6.0 and the recently released 5.12.0 as well. Then there's all the platform work that has come into play, with ActiveState Perl and Vanilla/Strawberry, gtk, Qt, and wx.

    What are some changes to Perl 5 in the last decade? The threading model is different, signals have been cleaned up, the regex engine has been largely converted from recursive to iterative code, and lexical pragmas that were once compilation switches have improved things immensely. There are also new language features and new core modules. The quality of major CPAN modules has gone way up, too. That's just a start.

    You can talk about similar effort and selective examples, but PHP is a selective example, too. Besides, it's easier to improve something when there's that much room for improvement. How much has C improved in the meantime? How about Ada, Pascal, or Smalltalk? Sure, arc and NewLisp are out. How much have individual other implementations of any language advanced? It seems a new dialect is how many make major changes in a short time. Otherwise, your implementation can be too much of a moving target. JavaScript, Lua, and C++ come to mind as improving drastically over the last ten years. Yes, I said C++; at least the drafts for the new standard appear much better than C++ 98. I admit I've never done much with Lua or C++.

    Then, besides Perl5, there's also Perl6. It hasn't held Perl5 as we've known it back at all. Larry was ready to break backwards compatibility. Be careful what you ask for. Breaking compatibility with deprecated parts of Perl5 is already being done by Perl5, and Kurila breaks even more. If you really want a nice language with all the perks of Perl that's more advanced than Perl5, Perl6 will provide that if you're willing to wait.

    If you want a stopgap, try Kurila or try actually using Perl5 with Moose and the other widely considered best-of-breed modules to program in what proponents call Enlightened Perl. If you really think it's like programming in 5.004_05 or even 5.6.0 (the major version that came out in 2000) and the CPAN modules that existed in 2000, then you're seeing a similarity most don't.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2021-07-31 10:15 GMT
Find Nodes?
    Voting Booth?

    No recent polls found