32 lines
2.0 KiB
Plaintext
32 lines
2.0 KiB
Plaintext
MFTL
|
|
|
|
/MFTL/ [abbreviation: My Favorite Toy Language ] 1. adj. Describes a talk on
|
|
a programming language design that is heavy on the syntax (with lots of
|
|
BNF), sometimes even talks about semantics (e.g., type systems), but rarely,
|
|
if ever, has any content (see content-free ). More broadly applied to talks
|
|
even when the topic is not a programming language in which the subject
|
|
matter is gone into in unnecessary and meticulous detail at the sacrifice of
|
|
any conceptual content. Well, it was a typical MFTL talk. 2. n. Describes a
|
|
language about which the developers are passionate (often to the point of
|
|
proselytic zeal) but no one else cares about. Applied to the language by
|
|
those outside the originating group. He cornered me about type resolution in
|
|
his MFTL. The first great goal in the mind of the designer of an MFTL is
|
|
usually to write a compiler for it, then bootstrap the design away from
|
|
contamination by lesser languages by writing a compiler for it in itself.
|
|
Thus, the standard put-down question at an MFTL talk is Has it been used for
|
|
anything besides its own compiler? On the other hand, a (compiled) language
|
|
that cannot even be used to write its own compiler is beneath contempt. (The
|
|
qualification has become necessary because of the increasing popularity of
|
|
interpreted languages like Perl and Python. ) See break-even point. (On a
|
|
related note, Doug McIlroy once proposed a test of the generality and
|
|
utility of a language and the operating system under which it is compiled:
|
|
Is the output of a FORTRAN program acceptable as input to the FORTRAN
|
|
compiler? In other words, can you write programs that write programs? (See
|
|
toolsmith. ) Alarming numbers of (language, OS) pairs fail this test,
|
|
particularly when the language is FORTRAN; aficionados are quick to point
|
|
out that Unix (even using FORTRAN) passes it handily. That the test could
|
|
ever be failed is only surprising to those who have had the good fortune to
|
|
have worked only under modern systems which lack OS-supported and -imposed
|
|
file types.
|
|
|