[Date Index]
[Thread Index]
[Author Index]
Re: V9 !!!
*To*: mathgroup at smc.vnet.net
*Subject*: [mg128901] Re: V9 !!!
*From*: Andrzej Kozlowski <akozlowski at gmail.com>
*Date*: Mon, 3 Dec 2012 04:04:28 -0500 (EST)
*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com
*Delivered-to*: l-mathgroup@wolfram.com
*Delivered-to*: mathgroup-newout@smc.vnet.net
*Delivered-to*: mathgroup-newsend@smc.vnet.net
*References*: <27741364.66688.1354273348209.JavaMail.root@m06> <20121201093750.AB93E68AD@smc.vnet.net> <20121202100101.362776890@smc.vnet.net>
On 2 Dec 2012, at 11:01, Murray Eisenberg <murray at math.umass.edu> wrote:
> However, I've always had mixed feelings as Mathematica has grown to
> build in more and more mathematical functions. At times this has taken
> the edge off what was a valuable exercise for my undergraduate students:
> defining more complicated functions -- e.g., div in vector analysis or
> nullSpace in linear algebra -- that forced students to understand the
> precise underlying definitions and algorithms. And it tended to take
> away a sense of power and accomplishment when students could start by
> defining the simplest kind of function, such as performing a single
> elementary row operation, and step-by-step building ever more
> complicated functions, culminating in something relatively
> sophisticated, such as finding the orthogonal projection of a vector
> upon the span of a given set of vectors, and even going further, such as
> using the latter to find the least-squares solution to an overdetermined
> linear system.
But what stops you from continuing to do this once Mathematica has these
new functions? In fact, one of my favourite methods of teaching
Mathematica and mathematics at the same time is to ask students to
emulate with their own code some particular mathematical function that
exists in Mathematica. There is a great deal one can learn by doing this
sort of thing. The the existence of a Mathematica function in this
situation (particularly a well documented one) is actually a great
bonus. Besides, of course, there is a difference between the needs of
teachers and those of researchers and other users - for many purposes
user defined functions are too inefficient for serious work (and even
more so when these users are not expert programmers). On a personal
level: I spend a great deal of my time developing mathematical
structures in Mathematica, but far from being dismayed when they are
made obsolete in new versions by more efficient built-in functions, I am
always happy and excited when this happens. This is because almost
always the existence of these new functions opens up new possibilities,
and quite often things that were quite unrealistic in earlier versions
become easy in a new one. From my perspective, the most exciting thing
about Mathematica 9 I have noticed so far is the ability to easily
simulate various stochastic processes with functions such as
RandomFunction, ContinousMarkovProcess, ItoProcess, etc. This alone is
worth the upgrade even though it makes many and perhaps most of my
contributions to the Wolfram Demonstrations Project obsolete. But that
it the price I am happy to pay as I can already see a number of new
things that I can now do with these functions that did not appear ever
worth attempting before. The same thing happened with the upgrade from
version 7 to 8, with the appearance of the FinancialDerivative function.
The presence of these new functions in no way makes it more difficult to
teach students the algorithms behind them, but it also makes Mathematica
the best tool I know of for development and application of advanced
financial models, particularly in the area of derivative pricing (in
which I have been interested for many years).
Of course anyone developing tools for Mathematica for commercial
purposes will have "mixed feelings" when Wolfram Research, with all the
advantages that it has, builds-in functions that make these tools
inefficient and obsolete. However, this is no different from the
experience of many developers of commercial software that suddenly finds
itself competing with functionality included in the operating system. I
have been a user of Apple Macs almost from the beginning and I remember
many times reading and hearing complaints from software developers about
"unfair" competition from Apple. But now we know that this process is
unstoppable and today a vast number of things that once used to need a
commercial (or shareware) program are now either done by the operating
system or by programs freely provided by Apple with the latest version
of Mac OS. (The same thing is true in the Microsoft world). Developers
of these programs have either given up or have found a way to add value
to their programs which is sufficiently large compared to what if
offered form free by Apple, to make them still worth their price to at
least some users.
I will take this opportunity to respond to a typical "straw man"
argument in another response to this post. I am referring to "those who
say that Mathematica users should never buy a third party application".
I have never read anybody write anything so ridiculous in this forum so
I would like to see some references (if they exists). In fact, I myself
have purchased third-party applications which, not surprisingly, have
eventually become obsolete, but I would never give this as a reason
against buying them. They more than paid back their price once and I
also learned a lot from them. The point I have tried to make is this:
before a user decides to purchase a commercial package he should first
master enough Mathematica to judge whether the kind of things he wants
to do with it can be done without much effort with the standalone
version or not. The decision should be his and it should be an informed
one. What I object to is habitual pouncing on new and obviously not
fully informed users, without even fully finding out their real needs,
and suggesting or insinuating that they should bypass the necessary
learning process by buying a commercial add on package. Also, even when
an add-on package is found useful, it should never be a reason for
skipping the need to learn such things as basic syntax and the working
of the very basic (non mathematical) programming constructs. This is
also the main reason why I am less than enamoured with packages that
provide supposed "short-cuts", that often only appear to be such to
people who have not mastered the foundations of the language.
Andrzej Kozlowski
**Follow-Ups**:
**Re: V9 !!!**
*From:* Murray Eisenberg <murray@math.umass.edu>
**References**:
**Re: V9 !!!**
*From:* "djmpark" <djmpark@comcast.net>
**Re: V9 !!!**
*From:* Murray Eisenberg <murray@math.umass.edu>
Prev by Date:
**Re: Mathematica 9.0.0.0 for windows crash**
Next by Date:
**how to orient Polar Plot 0 Degrees at the North Pole**
Previous by thread:
**Re: V9 !!!**
Next by thread:
**Re: V9 !!!**
| |