Re: [livecode] non-linguistic programming

From: <rob_at_robmyers.org>
Date: Fri, 04 Jan 2008 12:30:28 +0000

Quoting Dave Griffiths <dave_at_pawfal.org>:

> Ironically, haskell is a language which tries very hard to make
> programming easier and safer (by constraining what you can do).

There's the execution model and then there's the syntax.

Haskell has an excellent execution model with all sorts of functional
and type-based goodness. Likewise, Perl has brilliant regexps and IO
facilities. They then wrap this in syntax that looks like line noise.

JavaScript and Dylan are basically Lisps (at the execution model
level) with C and Algol syntax respectively. Lua looks like Dylan but
is hashtable based rather than using the CLOS object system. Python is
Perl for the fearful.

There is rarely any causal link between execution model and syntax or
representation. I'd be much happier with a PD or Max that used text
rather than 1984-era QuickDraw boxes, and I prefer Python to Perl
because of the syntax.

But...

A good heuristic is "change the notation".

With Lisp I started out with Dylan, which as I mentioned is an
Algol-syntax language (think Pascal or Lua if you don't know Algol). I
have moved slowly to Common Lisp, which has Lots of Irritating Silly
Parentheses. The Lisp syntax is both addictive for hacking in and a
useful thing for writing tools to work with code. So some syntaxes are
more useful for some things for others, oven if they represent the
same execution model behind the scenes.

This site is good for syntax comparisons (and sometimes execution
model comparisons):

http://99-bottles-of-beer.net/

- Rob.
Received on Fri Jan 04 2008 - 12:32:45 GMT

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST