Re: Types in Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg62401] Re: Types in Mathematica*From*: "Steven T. Hatton" <hattons at globalsymmetry.com>*Date*: Wed, 23 Nov 2005 01:12:19 -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>*Sender*: owner-wri-mathgroup at wolfram.com

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: http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/hierarchy.html Take a look at the list of classes in KDevelop: http://www.kdevelop.org/HEAD/doc/api/html/hierarchy.html 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: 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/

**References**:**Re: Re: Re: Types in Mathematica***From:*"Virgilio, Vincent - SSD" <Vincent.Virgilio@itt.com>

**Re: Types in Mathematica***From:*"Steven T. Hatton" <hattons@globalsymmetry.com>