Penguin

Differences between version 21 and predecessor to the previous major change of WhyIHatePerl.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 21 Last edited on Thursday, September 1, 2005 11:12:50 am by JonPurvis Revert
Older page: version 20 Last edited on Wednesday, August 31, 2005 11:13:44 am by JaredUpdike Revert
@@ -16,8 +16,10 @@
  
 The thing is in perl you *can* write nice and easy to read and maintain programs, however people don't. Sure ''I'' can avoid these things, but it doesn't help me when I'm trying to debug some body ''elses'' script. C uses a lot less punctuation than perl, this is easily proven by the fact that perl uses mostly the same punctuation as C, and then adds it's own ones :) I don't think C and Perl really should be compared. They are completely different problem domains. I've got a rant growing somewhere about C too :) Compared to python, perl looks like executable line noise. 
  
 ''And [Python] looks like executable whitespace. These variables are actually hardly a design decision on [Perl]'s side - 99% of them existed in [AWK]. Much of the linenoise comes from the [AWK] and [SED] heritage actually. The majority of it is loathed by many [Perl] hackers as well. Too much of I/O is controlled by global special variables; Larry himself has said this situation needs fixing. Of course not much can be done for [Perl]5. Unlike the [Python] and [PHP] folks, we don't go breaking people's old scripts willy nilly :)'' --AristotlePagaltzis 
+  
+''[Perl] didn't get its line noise from [AWK]. All [AWK] has is the $ operator for getting from a field, eg $3 will get the third field, $x will get the field for the number held in x. [sh] has $ on it's variables and shares some with [Perl], but many are unquie to [Perl], eg $# is the output format for printed numbers in [Perl] and the number of command line arguments in [sh].'' --JonPurvis  
  
 !!Simple things are hard 
 Someone once said that the definition of a low level language is one that requires you to spend your time worrying about the irrelevant. Perl must indeed be a low level language. Trying to figure out how to pass a list to a function, create a local variable in a function, nest types are all things that are difficult to get "right". You have to know a magical encantation to do them. Why don't they do the right thing?