Maybe I should unsubscribe and disable this account before I hit send, but I
have to defend what I wrote.  I certainly never expected to be cursed at for
posting an opinion response with justification to a beginners list!

I never suggested C++ (I agree, it's not a good OO paradigm - probably one
of the reasons why it's so underused) - I would have suggested smalltalk but
thought something used on a more massive scale would be more useful.   Perl
is cryptic because many Perl programmers tend to like to be cryptic - with
today's optomizing compilers/interpreters it doesn't matter if you can write
something in one line, it matters that someone else can read it.  I think
code that is not clear represents bad programming practice.  Search the web
for obfuscated and you will find Perl.

As far as scripting vs. programming language, I mean that some things can't
be done in Perl - if I understand correctly, many perl calls are just stubs
to routines written in C or even assembler.  Is that really a programming
language, if I can't control every aspect of the system?  Even in C some
things have to be done with assembler code.

Regular expressions (some of the special symbols I mentioned, but also all
the others) are a relatively complex concept for a beginner, but almost
impossible to get through any Perl without.  And to read someone elses's
perl you have to look up the special symbols.  Is that as true in C or Java?
or are the routines and even the constructs closer to English in those
languages?  Also being able to change the symbols/structures used in
constructs (such as =~ m#something# vs just /something/) can be daunting for
beginners.

What other languages allow the return of multiple values?  Ask any professor
if this is a good idea, I don't have to justify that perspective.  I didn't
say what should be done, I gave my opinion on what should not be done.  If
you learn to do this in Perl, how will you adapt to other languages?  And I
certainly never suggested global variables!

What other language is so well known for the blunders of it's programmers?
Do I have to mention Matt's Script Archive?  Even people on this list Perl
have written that code they have dispersed in the past has taught bad
practices.  Not that C or Java disables mistakes, they just force you to
think in a more structured manner.  I think this is critical for beginners.

Most degrees in CS/CIS require that you write a simple compiler.  If you
don't learn pointers and memory management, how are you going to write a
compiler, in Perl? I think memory management is also critical to new
programmers, or even what the concept of memory is, how to allocate, protect
and reclaim it.  Just because we have tools that make this unnecessary do we
skip this?  Because we have graphing calculators do we start with Calculus
III?

I never said C stopped you from making mistakes - I think I said that the
user would learn more from them.   I agree that Perl is a way of thinking.
I am not sure it is the basis for an education in CS/CIS.  Is there any
reason not to learn C and Java?  Which has broader applications?  When I
apply for certain jobs I take Perl off my resume because it is not
considered professional.

Interesting that no one refuted the loosely typed statement; I think data
types and conversions are critical concepts to beginners.  Didn't everyone
who ever took a CS class have to convert from hex, write sort routines,
etc.?  Also funny that people will defend Perl so forcefully to a devotee.
Would I be on a Perl list if I didn't believe in Perl?

Can someone summarize the arguments for why Perl is a good language for
beginners instead of just countering the arguments against it?  I promise
not to respond.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to