Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Perl Programming Upgrades

Damian Conway On Perl 6 and the Philosophy of Programming 132

M-Saunders writes: Perl 6 has been in development since 2000. So why, 14 years later, hasn't it been released yet? Linux Voice caught up with Damian Conway, one of the architects of Perl 6, to find out what's happening. "Perl 6 has all of the same features [as Perl 5] but with the rough edges knocked off of them", he says. Conway also talks about the UK's Year of Code project, and how to get more people interested in programming.
This discussion has been archived. No new comments can be posted.

Damian Conway On Perl 6 and the Philosophy of Programming

Comments Filter:
  • Re:syntax (Score:4, Interesting)

    by Will.Woodhull ( 1038600 ) <> on Friday July 04, 2014 @01:52PM (#47384489) Homepage Journal

    Some languages are simply easier to make mistakes in, thanks to insane syntax.

    This is true. But it is not a weakness of the language. And do not confuse "insane syntax" with what Perl is doing.

    Perl holds the author responsible for using the correct syntax in the context of the author's intent. It does not hold the author's hand, as if they were some kindergartner just starting out. One of Perl's axioms is that the author must be allowed to do whatever he wants without regard to some imposed notion of what is reasonable, for who but the author can know what his intention is?

    That means a lot of shitty scripts are written in Perl. But a lot of shitty verbiage is written in English. Neither language should be judged by the great volume of shitty work that has been done in it. Each language should be judged by the quality of the most elegant work that it can support. There has been some really elegant work done in Perl.

    For critical work, Perl should not be used by programmers who do not yet know what they are doing. While it is a great language for studying things like Knuth's work on algorithms (TAOCP []), it should not be used in mission critical applications until the student has mastered those studies.

    And determining which programmers are sufficiently capable to be allowed to use Perl is a problem for the IT managers and software team leaders. It is not a problem with the language.

    Don't try to use Perl in anything that is mission critical until you no longer need the training wheels.

  • by rjh ( 40933 ) <> on Friday July 04, 2014 @02:54PM (#47384857)

    At OSCON 2006 I was sitting in one of the green rooms (the spaces set aside for speakers before presentations). My laptop was open and I was happily hacking away on a project. As I killed a bug and checked the code back in, I muttered under my breath, "Python, I love you. You make the hard stuff so easy."

    I noticed a few seconds later the room had gone utterly silent. I looked up, and sitting at the table across from me was Damian Conway, tapping away on his own laptop doing his own thing. I blinked a couple of times and suddenly noticed the entire room was expecting a Perl-vs-Python argument to erupt.

    Damian looked up from his work, noticed everyone was looking nervous. He looked over at me, I gave a "I don't know what's up with them, uh, help?" look and a shrug.

    Damian then looked back at the crowd and grinned. "Listen, the only thing I love more than Perl is well-written software, even if it's written in Python." He looked back over to me. "Kill a bug, didja?" I nodded. He gave me a smile and a thumbs-up, then returned to his code. I returned to mine, and after a few seconds the room let out his breath.

    I love Python. But the only thing I love more than Python is well-written software, even if it's written in Perl. :)

  • by radtea ( 464814 ) on Friday July 04, 2014 @03:17PM (#47384969)

    Fragmentation and stagnation, despite some assurances to the contrary

    I use Python both professionally and for fun (and C and C++ professionally) and don't get this impression at all. Major upgrades to shipped languages take time. The willingness to impose one-time incompatible changes for the sake of long-term improvements takes guts, and can certainly go wrong, but can very well be worth it.

    As someone who worked in C and C++ pre-standardization, I recall (perhaps erroneously) that the new standards broke a fair bit of existing code, albeit in minor ways. And of course Microsoft's broken C++ compiler in Visual Studio 6 resulted in a vast amount of borken code when they finally caught up to the rest of the world.

    That said, I haven't moved to Python 3 yet, although I believe all the libraries I really care about have now migrated. I tend toward late-adoption, though, and my sense of the Python community is that everyone accepts we are eventually going to move to 3. Big changes take years, so it's no surprise that lots of developers are still on 2.x. The real watershed will be when a few major libs (wxPython, say) drops 2.x support.

    In contrast, my impression of Perl 6 is that it's the language of the future, and always will be. It appears so different from Perl 5 that it's a little weird the same name is being used, and it has mostly resulted in sucking the oxygen out of Perl 5 development.

"For a male and female to live continuously together is... biologically speaking, an extremely unnatural condition." -- Robert Briffault