I think in a classroom setting or a mentoring setting the fact that a tool's more flexible than you are originally taught has little bearing on what one will learn. Learning a subset of a huge language like Ada or Java doesn't seem to be a particular drawback of those programs that use them (although I'd argue that both of those languages as a first have other drawbacks). Learning a very flexible language like Scheme or Common Lisp doesn't seem to be an issue, either.

When one learns programming on one's own, it's much harder to say what would be a good thing. Perl (Ada, PL/I, PL/M) very well may be overwhelming due to language size. Perl, Python, and Ruby might be daunting due to the available programming models. Lisp, Rexx, Perl, and JavaScript might be intimidating because they all allow evaluation of arbitrarily complex programs from within a program. A good tutorial for new programmers would hopefully be as gentle an introduction to the syntax of the language as to the concepts involved.

The biggest drawback one can have in an initial language, I think, is unusual verbosity. There are strictly typed languages with inference. There are languages which have a very declarative style of complex data structures without requiring the same for simple scalars. Languages exist in which input and output data must be pre-structured, and byte-oriented files are a pain with which to work. Since the first applications most people learn to use are not payroll systems and league sport box scores, forcing verbose data and variable declarations for the sake of performance and ease of language implementation are counterproductive, IMO, in a beginning language.


In reply to Re^6: Perl as one's first programming language by mr_mischief
in thread Perl as one's first programming language by amarquis

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.