MathGroup Archive 2005

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

Search the Archive

Re: Types in Mathematica

  • To: mathgroup at
  • Subject: [mg62401] Re: Types in Mathematica
  • From: "Steven T. Hatton" <hattons at>
  • Date: Wed, 23 Nov 2005 01:12:19 -0500 (EST)
  • References: <> <dlp2ci$le$> <> <dls4vp$mmc$>
  • Sender: owner-wri-mathgroup at

Andrzej Kozlowski wrote:

> On 20 Nov 2005, at 18:50, Steven T. Hatton wrote:
>> It is generally acknowledged in the computer science field that a
>> person
>> with experience in several programming languages is typically a better
>> programmer than a person who has an equivalent number of hours of
>> experience in one programming language. I mean to say both
>> programmers have
>> the same total number of hours spent programming.
> This seems to me so obviously wrong in the case of Mathematica that I
> am surprised it can even be a subject of an argument. Skillful
> programming in Mathematica (after one has acquired basic Mathematica
> literacy) depends above all else on an intimate knowledge of built-in
> functions: their options, their performance in different situations
> and similar things.

Some of that information is available through Mathematica commands such as
Options, UpValues, OwnValues, Attributes, etc.  

> The number of such functions is enormous, the 
> number of options several times larger. As most people start
> forgetting such things  if they stop using them for just a few weeks,
> it seems to me obvious that in the case of two individuals of roughly
> equivalent intellectual capacity one of whom devotes himself entirely
> to Mathematica while the other studies various languages for an
> equivalent length of time any kind of Mathematica programming contest
> would turn out to be a no contest.

But your argument could apply equally to just about any programming
language.  The core C++ language is very complex.  The C++ Standard Library
is certainly nontrivial to learn.  Mind you, this is just the starting
point of using the language.  There are countless libraries. All with their
own classes, functions, constants, namespaces (if you are lucky),
templates, macros (unfortunately), etc.

Take for example OpenSceneGraph.  This is just a list of the classes in OSG:

Take a look at the list of classes in KDevelop:

That's just one part of the whole KDE.  I could go on, but the above
examples should suffice to carry my point.

I will concede that experience in mathematics and physics can also develop
the kinds of thinking which programming experience can develop.

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

  • Prev by Date: Re: Boolean Integral
  • Next by Date: Re: Lost connection to license server
  • Previous by thread: Re: Re: Types in Mathematica
  • Next by thread: Re: Types in Mathematica