Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I think that Perl's a horrible choice for a programmer's first language: it does too much for you. The Perl hacker doesn't have to worry about buffer lengths, array bounds, keeping track of allocated memory, and so on, which makes it easy to develop habits that don't address resource allocation. Fine if you're hacking Perl, not so fine if you start writing C later on.

I have some personal experience to back this up, if you'll indulge me. I've TAed labs for an introductory software engineering course at my university: this is a student's first introduction to writing software, rather than using a procedural language. It's also their first glimpse of C. For a long time, the first-year courses were taught in Pascal; recently, they switched to Java. Students who learned to program with Java had much more trouble keeping track of resources (file handles and heap memory, for the purposes of this course) than the ones who started out with Pascal, and their code was brittle as a result. I attribute this to Java's "convenience" features (growable strings, garbage collection, etc).

The problem with teaching programmers Perl as a first language is that they will almost inevitably go on to write C, and their C will be buggy and insecure. I'd like to see Comp. Sci. majors around the planet start with an elegant, sane assembly language (MIPS and 68000 asms come closest to this ideal, IME), then move to C, then move to safer, higher-level languages. Like Perl.

On the other hand, Perl makes an excellent first language for people who aren't going to be career programmers: it's easy to get a lot done with only a little knowledge, which means less lag time between starting to program and solving your problems.

--
The hell with paco, vote for Erudil!
:wq


In reply to Re: Learning Perl as a First (programming) language by FoxtrotUniform
in thread Learning Perl as a First (programming) language by japhif

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (1)
As of 2024-04-25 02:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found