MathGroup Archive 2012

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

Search the Archive

Re: V9 !!!

Having a built-in function to do something, e.g., find rank of a matrix, 
tends to discourage students when they are asked to build up a function 
of their own that accomplishes the same thing beginning with more basic 
operations. They just don't appreciate the value of the exercise as a 
means to building and reinforcing their understanding. Moreover, it 
becomes too easy for them to check whether their own function works 
properly; without the higher-level function they formerly had to devise 
test cases and check their function's results by hand.

On Dec 3, 2012, at 4:04 AM, Andrzej Kozlowski <akozlowski at> wrote:

> On 2 Dec 2012, at 11:01, Murray Eisenberg <murray at> 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

Murray Eisenberg                                    murray at
Mathematics & Statistics Dept.      
Lederle Graduate Research Tower            phone 413 549-1020 (H)
University of Massachusetts                               413 545-2838 (W)
710 North Pleasant Street                         fax   413 545-1801
Amherst, MA 01003-9305

  • References:
    • Re: V9 !!!
      • From: "djmpark" <>
    • Re: V9 !!!
      • From: Murray Eisenberg <>
    • Re: V9 !!!
      • From: Andrzej Kozlowski <>
  • Prev by Date: Re: OutputResponse issue
  • Next by Date: Re: v9: variable name colour?
  • Previous by thread: Re: V9 !!!
  • Next by thread: Re: V9 !!!