[metapost] MP vs. Asymptote

Laurence Finston lfinsto1 at gwdg.de
Sat Apr 22 15:37:21 CEST 2006

On Fri, 21 Apr 2006, Mau wrote:

> I don't want to start a flame, but since someone posted a message some
> time ago mentioning Asymptote I got curious and I have to say that I was
> very impressed, even if I still have some problems with it. However, it
> seems a net improvement over MP, or not? Is there anyone with an
> informed opinion over Asymptote? Might Asymptote be the killer of MP?

I think it depends on what you're looking for.  One of the really
interesting things about MetaPost is the underlying code, which it shares
to a large extent with METAFONT.  If you look at Knuth's _The Art of
Computer Programming_ and _METAFONT:  The Program_, you'll see that he
used many of the ideas in _TAOCP_ when programming MF (and TeX).  It's a
style of programming that has rather gone out of fashion, which is one
reason I've never gotten around to reading _MF:  The Program_.  However,
if you're interested in how computers and computer programs work deep
down, Knuth is one of the best sources of information I've found, and one
of the most interesting.  Unfortunately, it seems that the trends in
software development, if not computer science, have been going in
directions other than the ones he's pointed out.

Another interesting aspect of MF/MP is the syntax.  Again, unfortunately,
people don't generally seem to have picked up on this, and what little
does get written about it are mostly complaints.  At least, that's how it
seems to me.  The four-tier expression syntax is a bit unusual, and works
very nicely.  It was easy to implement a similar one using GNU Bison, and
I find it quite entertaining to use the latter's tracing facilities and
watch the states being reduced.  (Maybe I'm just easily entertained.)

I don't think MP has much chance of finding acceptance among general users
of graphics packages anymore.  As we say in German, I think that train
has already left the station.  It's not the sort of program most people
seem to want nowadays.  It's adequate if you only want an
interface to PostScript for making two-dimensional graphics.  People who
want 3D, surface hiding, ray-tracing, radiosity, bones, evolutionary
algorithms, and whatever else there is, are going to use something
else.  And there are plenty of packages out there competing for attention,
free (as in beer), free (as in speech), both, and neither.
Mostly, they have a different "flavor" from Knuth's programs:  They've got
GUIs where  you can point and click, menues, a familiar "look and feel",
etc.  In general, it seems people aren't
that interested in languages.  On the other hand, Perl and PHP are
popular and "scripting languages" are currently fashionable.  (Sadly, for me,
Metafont-like languages aren't.)

On the other hand, MP doesn't need to compete with other packages.  It's
there if anyone wants it, and there are people who maintain it.  I'm sure
Asymptote serves a useful function for its developers and users, as do
other packages related to TeX, MF, and MP.  I like MP and will continue to
use it.  I just don't feel like learning something different that does
more-or-less the same thing, and for 3D I've got a package of my own.
If I got a job doing 3D graphics, I would have to use something else,
anyway.  For professional use, as opposed to research, teaching, and a few
mathematicians and physicists who typeset their own publications
with TeX, most people are using other packages.

Laurence Finston

More information about the metapost mailing list