MathGroup Archive 2005

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

Search the Archive

Re: Types in Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg62697] Re: Types in Mathematica
  • From: "Steven T. Hatton" <hattons at globalsymmetry.com>
  • Date: Thu, 1 Dec 2005 00:46:00 -0500 (EST)
  • References: <200511191053.FAA16418@smc.vnet.net> <dlp2ci$le$1@smc.vnet.net> <200511200950.EAA04496@smc.vnet.net> <dls4vp$mmc$1@smc.vnet.net> <dm1ak3$i1n$1@smc.vnet.net> <dmjrb8$5u6$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Paul Abbott wrote:

> In article <dm1ak3$i1n$1 at smc.vnet.net>,
>  "Steven T. Hatton" <hattons at globalsymmetry.com> wrote:
> 
>> I will concede that experience in mathematics and physics can also
>> develop the kinds of thinking which programming experience can develop.
> 
> Actually, much of the thinking involved in mathematics and physics
> _transcends_ the kinds of thinking which programming experience can
> develop. Extensive knowledge of mathematics and physics definitely
> assists Mathematica programming, more so than in other languages because
> of the high-level functionality. The "physics" or "mathematics" way of
> thinking often assists implementations of algorithms in Mathematica.
> This is, I think, the key point of this thread.

Hmmm ... From my experience, I find some concepts in math and physics
ideally amenable to certain aspects of OOP.  A vector is a geometric object
independent of any particular coordinate system.  The Universe can be
represented by "arbitrarily" choosing a "rest" system relative to which all
other coordinate systems are defined.  Again, the rest system can be
treated as an object.  Coordinate transformations can be represented as
objects, as can scalar fields and other functions of multiple variables.

In many ways the corespondance between how Mathematica works, and how I
think about math and physics is somewhat unnatural for me in comparison to
OOP. There does seem to be some degree of correspondence between OOP and
pattern matching.  Pattern matching also seems to have similarities with
generic programming.  All of these perceived similarities are currently
only intuitive "hunches" which I have not refined and formalized to any
extent.

The big advantages Mathematica provides over C++ are flexibility, notational
expressiveness and recursive programming.  The latter does exist in C++ to
a limited extent in template metaprogramming.  

I find these comments by Bjarne Stroustrup quite interesting in this
context: http://www.itworld.com/AppDev/710/lw-02-stroustrup/
"Rule-based programming (see the R++ link in Resources) has a record of
failures and successes on a scale that didn't lead to mainstream adoption.
That's a pity, but I don't want to call it an "academic trifle." Many of
the ideas we today see as standalone languages will enter the mainstream as
facilities and techniques embedded in a mainstream language, such as C++.
The future will see much multiparadigm programming and many multilingual
systems."

-- 
The Mathematica Wiki: http://www.mathematica-users.org/
Math for Comp Sci http://www.ifi.unizh.ch/math/bmwcs/master.html
Math for the WWW: http://www.w3.org/Math/


  • Prev by Date: Re: Re: Types in Mathematica
  • Next by Date: Re: Re: Re: function of a function
  • Previous by thread: Re: Re: Types in Mathematica
  • Next by thread: Re: Types in Mathematica