Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Wed, 02 Apr 2003
Language Centric Software Development == Metalinguistic Abstraction
Joe Gregario's post on E4X (ECMAScript for XML) refers to his article on Language-Centric Software Development, where he describes the role of embedded languages (focusing mostly on scripting). His conclusion:
[14:01] |
[computers/programming] |
# |
TB |
F |
G |
2 Comments |
When developing a piece of software concentrate on building a languge to solve problems in the domain you are working in. No one fixed language can solve every problem so build a customized language just for that domain.Abelson and Sussman's Structure and Interpretation of Computer Programs calls this Metalinguistic abstraction. This observation is the reason that I keep yammering on about Lisp style macros. In a language with good macros, E4X is a bunch of macros, not an extension that will require hacking on the interpreter and a round through the ECMA committee.
Everything old is new again:
http://www.paulgraham.com/onlisp.html
Posted by Bill de hÓra at Thu Apr 3 15:48:05 2003
http://www.paulgraham.com/onlisp.html
Posted by Bill de hÓra at Thu Apr 3 15:48:05 2003
My copy of SICP is dated 1985. My copy of On Lisp is dated 1994...
Posted by Ted Leung at Thu Apr 3 16:01:58 2003
Posted by Ted Leung at Thu Apr 3 16:01:58 2003
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk