Basically a programing language is whatever you define as a programing language. I don't think there is any standard definition of what it is.

So Perl is certainly a programing language. What you friend might be refering to is that some, amongst which some prominent (ex-)members of the Perl community, have problems with the fact that there is no formal definition of Perl: the language is defined as "what the perl interpreter can run". Which means that there is no single document describing exactly and completely the language, and (more annoyingly) that the language can (and does) change with each new version. This is seen as heresy by "formal computer scientist". It violates all the supposedly good rules of software design.

My take is that this is both accidental and deliberate, at least that Larry (and others, me for example) is perfectly happy with it: Perl behaves and evolves like a natural language (have you ever seen a formal definition of English? I haven't either). The fact that it is not designed a-priori allows for more room to evolve, with the community and the coders using p5p to solve problems when they arise and not beforehand. This process lets us find the best (for some value of best that takes into account DWIM and backwards compatibility) way to incorporate improvements to the language. Plus we can include new features without having necessarily sorted them out completely, and wait for user feedback to complete the implementation.

But I realize this can be unsettling for people used to reading the BNF of the language they use.


In reply to Re: Perl IS a programming language, right? by mirod
in thread Perl IS a programming language, right? by DaWolf

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.