On 9/1/06, Lou Hernsen <[EMAIL PROTECTED]> wrote:
Well... he's right
Right is a matter of opinion. Trolling is a matter of fact. And he's a troll. At this point, it doesn't really matter if he's right or wrong.
Its confusing and overly complicated, in its multiple syntaxes, for a compiled language.
I think you probably meant "interpreted language" here. If you want to be confused, compiled languages are definitely the way to go. Perl doesn't even come close C, C++, or COBOL for syntactical nightmarishness. Heck, it doesn't even come close to JAVA. On the other hand, you're right, it doesn't feature the user-friendlyness of, say PHP or JavaScript, but they don't have Perl's power. The beauty of a compiled-and-interpreted language is that you get most of the ease of use of an interpreted language without sacrificing the power of a compiled language. that's a fine line that Perl, Python, and Ruby all have to walk. If you don't like the particular choices made my the Perl developers, there are alternatives. Keep in mind, though, that the alternatives don't come with CPAN.
I'm personally of the opinion that it was written by a grad student who purposely created it to be confusing to keep the market limited of perl programmers, and/or to show off of just how complex he could make something.. but it sure as hell wasn't designed to be user friendly, IMHO.
The history is pretty clear, you can read it in any Perl book. It was created by a sysadmin who outgrew the shell, and he designed it more or less to show how uncomplex he could make something. No one makes you use features you don't want to use. You could get by for the rest of your life using no more of Perl's features than you would find in BASIC. There's even a goto() funtion if you want it. And since BASIC itself is turing complete, there is theoretically no program you can write in Perl that you couldn't write in just that command subset. Of course, you'll end up writing 1000's of lines of code to accomplish simple tasks, but if your definition of "user-friendly" is "writing lots and lots of lines of code in small words I can understand," do for it. No one is going to stop you. The Perl mantra has allways been "making the simple things easy and the hard things possible." If you are confused by anything in Perl, it is because you have made a deliberate choice to do something "hard," to learn about a "perlish" technique to save yourself time, effort, typing or repitition. Many people who have been programming in Perl for years don't understand things like map(), the flip-flop operator, perl objects, anonymous references, or even regex, really. They get along fine. they just stay at work later on Friday night than the people who put in the effort to learn some of the power tools.
If nothing else there should be a compiler that would take a user friendly syntax into a tighter code and back again.
Oh, you mean like 'perl -MO=Deparse'? You're right, it'd sure be nice if there was something like that... Of course, it'd also be nice if people would rtfm. But why do you care? The code is automatically optimized at several places in the compile/run cycle. That's probably Perl's strongest feature. It doesn't care if you use for or foreach, for instance, it will compile them both into the appropriate optimized bytecode. Let me repeat that: you don't need to optimize your code; Perl does it for you. Once more, just so we're clear on this: This isn't C, you don't need to worry about code optimization. Relax; don't worry; have a homebrew.
Personally I wish I had learned Java or PHP.... but I don't have the time right now to learn a new language.
If they're that much easier, go ahead and learn them. If they're that much easier than Perl, a couple of free afternoons should be all you need. -- jay -------------------------------------------------- This email and attachment(s): [ ] blogable; [ x ] ask first; [ ] private and confidential daggerquill [at] gmail [dot] com http://www.tuaw.com http://www.downloadsquad.com http://www.engatiki.org values of β will give rise to dom!