This page from Norvig is interesting for many reasons. He is searching a langage with a syntax more expressive than Lisp but less convoluted than Perl to use for its example of code in his books.

Without citing explicitely Perl motto Perl makes easy things easy and hard things possible, he uses it as an operational criteria that I call the expressivness criteria. So his new language of choice to convey code examples is Python. He compares lisp to python as a way to teach python to lisp programmers.

I cite (but you should read the whole page):

Python has the philosophy of making sensible compromises that make the easy things very easy, and don't preclude too many hard things. In my opinion it does a very good job. The easy things are easy, the harder things are progressively harder, and you tend not to notice the inconsistencies. Lisp has the philosophy of making fewer compromises: of providing a very powerful and totally consistent core. This can make Lisp harder to learn because you operate at a higher level of abstraction right from the start and because you need to understand what you're doing, rather than just relying on what feels or looks nice. But it also means that in Lisp it is easier to add levels of abstraction and complexity; Lisp makes the very hard things not too hard.

This remark confirms my hypothesis. A good language does not early freeze in its syntax of too high level (unproven) patterns but sensible low level patterns from which to build upon. Nevertheless it is eventually good at some point to capture proven patterns in the language syntax to make it more expressive.

Lisp failed to do that over its very long course, so Norvig is compelled to provide his examples in a newer language: Python. Another reason is the availability of JPython that makes python available accross the board.

-- stefp


In reply to Re: patterns, language and syntax by stefp
in thread patterns, language and syntax by stefp

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.