MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathematica as a programming language.

  • Subject: [mg3128] Re: Mathematica as a programming language.
  • From: wagner at bullwinkle.cs.Colorado.EDU (Dave Wagner)
  • Date: 7 Feb 1996 10:48:47 -0600
  • Approved: usenet@wri.com
  • Distribution: local
  • Newsgroups: wri.mathgroup
  • Organization: University of Colorado, Boulder
  • Sender: daemon at wri.com

In article <4euo82$nph at dragonfly.wri.com>,
Phil Perucci <pperucci at access.digex.net> wrote:
>It seems the elegance of language is inversely proportional to its power.
>
>Mathematica and Oracle's PL/SQL are two of the screwiest languages I have
>ever used (ESPECIALLY MATHEMATICA), yet they are the easiest tools for
>"getting the job done".

Well, I hope we don't start a religious war over this, but I strongly
disagree.  All of the seemingly diverse features of the language are
really manifestations of only a handful of very powerful primitive
concepts.  The most general of these is pattern matching and rule
substitution.

If what you're referring to is the plethora of built-in functions, keep
in mind that, for the most part, they aren't intrinsic to the
language.  You could implement the vast majority of Mathematica
functions (even things that seem like primitives, such as Map and
Apply) using pattern matching and rule subsitution.

There are really only a few "magic cookies" in the language (like
Sequence, Evaluate, Unevaluated, and certain attributes), and most
users aren't aware of them anyway.

Mathematica is the easiest tool for "getting the job done" precisely
because it has so many built-in high-level functions.  Would it be a
better language if you had to implement all of these from scratch?  I
don't think so.  If you find the kitchen-sink approach distracting,
just ignore everything you don't need.

There's also a lot of special syntax, but again, you could ignore
all that if you wanted to and enter every expression in its FullForm.

The situation is somewhat analogous to command-driven text editors like
vi and (especially) emacs.  In theory, you can do any kind of text editing
using only the cursor keys, the text-entry keys, and the delete key.
But people who spend a lot of time with these tools appreciate all
of the shortcuts that they offer.  People who don't spend as much time
with them don't have to learn all of the shortcuts.

		Dave Wagner
		Principia Consulting
		(303) 786-8371
		dbwagner at princon.com
		http://www.princon.com/princon


  • Prev by Date: Re: Mathematica as a programming language.
  • Next by Date: Re: [Q] How to include PostScript into a mma notebook
  • Previous by thread: Re: Mathematica as a programming language.
  • Next by thread: [Q]Greek letters for Plots