MathGroup Archive 2005

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

Search the Archive

Re: How to View Mathematica and Hardcopy Books

  • To: mathgroup at
  • Subject: [mg62374] Re: How to View Mathematica and Hardcopy Books
  • From: "Steven T. Hatton" <hattons at>
  • Date: Tue, 22 Nov 2005 04:42:21 -0500 (EST)
  • References: <dls5ig$qn1$>
  • Sender: owner-wri-mathgroup at

David Park wrote:
[Note, I am experimenting with the SMTP feature, and may or may not be
successful in sending this message to by David and the newsgroup.]
> I would like add some of my own comments on two recent threads, namely on
> viewing Mathematica in analogy to other programming languages

For me that has been analogy and *contrast*.

> and on the 
> competition between electronic books and hardcopy books.

There is some copetition, but there are also areas where these media can
complement oneanother.  A very good example is The Mathematica Book. I have
an older hardcopy version of The Mathematica Book which I use when I want
to read a large sequential selection.  I also have the electronic form
which is part of Mathematica 5.2.  I use that as a working reference.

> I agree completely with the comments by Andrzej on the limits and even
> dangers of analogy and the necessity of coming to grips with something new
> in its own terms.

Perhaps, but he did not address my situation.

> There are various ways to view CAS's, and Mathematica in particular. Some
> people view Mathematica as a 'souped up calculator'. This is especially
> true in the educational establishment where they might actually be
> thinking of making a transition from TI calculators, say, to Mathematica.
> Their general view seems to be that they don't like it because they don't
> think it gives the student understanding. By and large they are right - if
> that is the way they are going to use Mathematica. (There are certainly
> places where Mathematica as a 'souped up calculator' is just what is
> needed, perhaps for data analysis in the lab, the hospital or in the
> field.)

For purposes of number crunching Mathematica is quite often the wrong tool
for the job.  If you are doing things which involve very intensive mumeric
calculation which are likely to be repeated in form, you are probably much
better off translating your work to something like C++, or FORTRAN.  My
understanding is that MathCode C++ can produce executables which run orders
of magnitude faster than the Mathematica implementation of the same

Another observation on using Mathematica as a calculator.  It is often the
case that Mathematica does not behave as the naive user might expect.  It
is useful to have some understanding of what goes on "under the hood" even
when using Mathematica as an abstract calculator.
> Users who work in the 'souped up calculator' mode are often very reluctant
> to use outside packages or to write their own code. The fact is that for
> almost any serious application one will have to add code to the basic
> kernel commands to make any progress.

It is not uncommon for me to hit snags when using packages.  Packages can
interact in ways which are unexpected, and hard to understand.  Again, a
solid understanding of the inner workings of Mathematica can be helpful

> A second way to think of Mathematica is as a 'programming language'. At
> least this goes beyond the 'souped up calculator' viewpoint. It is a
> programming language, and in many ways a pretty neat one, but I don't
> think that is its primary merit. 

That is really a question of what you mean by "merit".  I find Mathematica
very interesting as a programming language.  To a large extent because it
behaves differently from other programming languages.  Also because of how
much has been built upon what I believe to be a very simple foundation. 
Understanding how Mathematica works should probide deep insight into
mathematics, as well as (artificial) intelligence.

> People with a computer science background 
> can get a little frustrated with Mathematica because computer science
> elegance is not its chief point and that is not what the customers are
> looking for.

Ironically, that has been one of my greatest frustrations with C++. As a
computer scientist, my frustration comes from the failure to use the tools
of computer science to describe how Mathematica works.

> What I like about Mathematica is that it isn't really like 
> 'programming' at all. It is much more like 'doing mathematics'. I don't
> care what's going on in the microprocessor. I'm paying my money so I don't
> have to care about it. I want to get on with the math and science.

To me, understanding how Mathematica works is an exercise in the science of
> Mathematica is much more shaped by what makes things convenient for users,
> than it is by computer science. It started with Stephen Wolfram wanting to
> perform symbolic calculations for physics papers. It has always been
> pushed by the needs of technical computing and the desire to encapsulate
> technical knowledge in working documents.

Mathematica has drawn heavily from both the fields of artificial
intelligence and mathematical typesetting.  For the former take a look at
Lisp and PROLOG.  For the latter take a look at the works of Knuth

> So my way of viewing Mathematica and Mathematica notebooks, is as 'souped
> up pen and paper'. (Or maybe keyboard and paper.) I can write anything I
> want, do any kind of calculation or derivation I want, draw diagrams and
> animate them, revise (I spent the morning putting in an equation and the
> afternoon taking it out), do examples and test my knowledge.

I believe the current implementation of Mathematica is extremely limited in
comparison to its potential.  The notebook structure would benefit
significantly from the ideas developed by the W3C for the creation of
interactive documentation programs.

> Mathematica notebooks are a revolutionary kind of document. They far
> outstrip hard copy books and papers. We are just learning how to use them.
> Although I'm of the older generation and share the fondness for hardcopy
> books I don't think that in the long run they can compete in the area of
> scientific, mathematical and technical literature. Many of my technical
> books are certainly too big to hold open in my hand.

Though there is certainly a case for such sprawling works as Misner, Thorn
and Wheeler's _Gravitation_, it is often the case that the most profound
works in math and physics are very compact.  E.g., _The Meaning of
Relativity_ by Einstein.  

There is a recognition by those who truly understand the value and power of
C++ that the traditional LOC metric used to gauge programmer productivity
is something of an anti-metric.  The best C++ code tends to be very compact
in comparison to its counterparts in other languages, or even in "first
cut" C++.  It is not uncommon for a good C++ programmer to reduce 250 lines
of C-style code into 15 lines of superior code.

Something tells me there is a similar kind of compactness hiding under the
current use of Mathematica.

> If I try to eat and 
> read I can't get the Dover books to lie flat. Because of the technical
> limitations of books many of them, even by well regarded authors, are full
> of misprints, errors and poor notation.  When I read a book I often have a
> hard time understanding the material unless I can think of how I would do
> it in a Mathematica notebook. Then I have to rush back to my desk. I just
> wish I had a laptop I could always have with me.

I have to say, even when I am sitting at my computer, and have a book in
both hardcopy and electronic form (TMGB, for example), I favor the hardcopy
for reading "cover-to-cover".  I will acknowledge such books tend to become
"bloated" in terms of producing hardcopy.  This is a challenge I have
constantly churning in the back of my mind as I read such books.
> And for those worried about it: electric power will be available at least
> as much as sunlight and digital copies will last longer than chiseled
> stone.

??? My understanding is that DVDs and CDROMs decay comparatively quickley. 

The Mathematica Wiki:
Math for Comp Sci
Math for the WWW:

  • Prev by Date: Re: How to View Mathematica and Hardcopy Books
  • Next by Date: Re: Intepolation of an array with missing points
  • Previous by thread: Re: How to View Mathematica and Hardcopy Books
  • Next by thread: Re: Re: How to View Mathematica and Hardcopy Books