Linked by Thom Holwerda on Wed 11th Apr 2007 16:35 UTC, submitted by ShlomiFish
Thread beginning with comment 229816
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
News
Linked by Thom Holwerda on 05/18/13 21:06 UTC
Linked by Thom Holwerda on 05/18/13 7:37 UTC
Linked by fran on 05/18/13 1:38 UTC
Linked by Thom Holwerda on 05/17/13 23:35 UTC, submitted by kragil
Linked by MOS6510 on 05/17/13 22:22 UTC
Linked by Thom Holwerda on 05/17/13 22:15 UTC, submitted by Tom
Linked by Thom Holwerda on 05/16/13 21:41 UTC
Linked by Thom Holwerda on 05/16/13 17:04 UTC
Linked by Thom Holwerda on 05/16/13 13:17 UTC
Linked by Thom Holwerda on 05/16/13 12:06 UTC
More News »
Sponsored Links



Member since:
2007-04-05
Readability and maintainability are paramount concerns. That's why "here's your predecessor's directory of Perl scripts" gives one of the most sinking feelings in the business. Sad thing is, there are a lot of sloppy programmers out there, and Perl does less to limit their damage when you're having to work collaboratively.
I for one had to reuse someone else's library once, and then had real time wondering why my previously tested code was breaking - it turned out that Perl allows a stand-alone next statement inside of a function to affect loops in the calling function. Why would any language do this?! What C++ and Python take pains to do is encapsulate and define interfaces, even if not in the OO sense, and side effects like that disqualify Perl as a language for larger projects with multiple programmers.
Maybe Perl 6 will clean things up a bit, but students need to learn how you successfully write reusable code when the line count goes over 10,000, and they'll do that better when they don't have to fight the language. You're talking about a mindset where the default behavior is all variables global unless declared otherwise, variables created on the fly unless declared otherwise - "my" and "strict" shouldn't have to be explicit.
Perl's not a bad language. It just grew too quickly without careful planning for how it would scale. That's why I think it needs to come after Python or C++ or Lisp. If you're going to code with less type safety, you should already have learned good discipline elsewhere.