Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
MathLink: Network Programming with Mathematica

MathLink: Network Programming with Mathematica

List Price: $39.99
Your Price: $39.99
Product Info Reviews

<< 1 >>

Rating: 4 stars
Summary: Good introduction
Review: For those who know Mathematica well, and who also want
to call Mathematica programs either remotely or from
programs not written in Mathematica, this book is the
canonical reference; in fact the only one that I am
aware of other than the documentation that comes with
Mathematica. The material in tbe book goes far beyond
what can be found in the documentation however. As the
authors observe, writing programs from scratch using
the TCP/IP protocol can be formidable, and so MathLink
was invented to ease the process for those who do not
want to become expert in TCP/IP. Readers will also
have to have a working knowledge of the C programming
language.

The book covers the Windows. Macintosh, and
Unix platforms, with LINUX emphasized for the latter.
Since all three of these operating systems are covered
in the book, this makes navigation in it a little
annoying at times. It does expand on the actual
evaluation process when executing a Mathlink program,

and how Mathlink does type conversion. Latency issues
in the network will of course have to be dealt with in
using Mathlink. The authors devote a chapter of the
book in dealing with data transfer times across a
network. They are also wise enough to know that the
data transfer is best done with functions written in C
for situations that are time-intensive. Readers just
need to remember to call the Install function after
each change they make to the .c and .tm files, as this

fact is not emphasized by the authors.
A chapter is devoted to the debugging of
programs written in MathLink. The ability to debug
these programs is really because of the underlying C
code rather than Mathematica, for the latter does not
of course have a debugger. The authors also illustrate
real-time graphics with TurtleGraphics, which is based
on the graphics primitives of Logo. Although somewhat
antiquated, it was put in to allow simulations of
cellular automata that are done in the next chapter.
Transfer times in the performing of real-time graphics
are reduced by employing color tables. For those
working on MAC OS or Windows machines, a discussion of
the digitizing of movies is given using the QuickTime
movie player. These discussions of real-time graphics
are generalized to interactive graphics in the next
chapter. This discussion is particularly enlightening,
since it deals with how to implement object-oriented
programming in Mathematica. Interestingly, objects are
thought of as function names when sending messages to
them. This is an illustration of the classic "message-
passing" paradigm in object-oriented programming, with
the messages being send to objects as their function
arguments. The authors discuss the class method and
instance method; the latter being the collection of
definitions that make up the class. Single and
multiple inheritance, a very important feature of
object-oriented programming, are discussed, and the
authors show how to create an event-driven mechanism
using Mathlink. Most interestingly, they show how to
create a window object, and this leads to a detailed
discussion on how to write a real-time interactive
graphics system. The latter is not supported by the
Mathematica front-end, and so for readers interested
in creating these for purposes such as curve-fitting
to data, their discussion is very helpful.

In addition, for those involved in large-scale

team efforts in writing Mathematica applications, or
programs calling Mathematica, the authors show how to
use Mathlink to communicate between different
Mathematica sessions. They discuss briefly the use of
J/Link to enable users to write Java programs to call
Mathematica programs, thus exploiting Java's
portability capabilities.


<< 1 >>

© 2004, ReviewFocus or its affiliates