MathGroup Archive 2001

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

Search the Archive

Re: Re: Originality

  • To: mathgroup at smc.vnet.net
  • Subject: [mg29550] Re: [mg29523] Re: [mg29482] Originality
  • From: John Resler <jmresler at kscable.com>
  • Date: Sun, 24 Jun 2001 02:01:02 -0400 (EDT)
  • Organization: Graduate Student
  • References: <200106230547.BAA28129@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

As an amateur mathematician and a professional computer scientist I
would take umbrage with two of the points you seem to make:

	1) Mathematica as it now stands is as good as it can be...
	2) Functional programming is the best way to handle mathematics...

	I will respond to the second implication first. I like mathematica very
much. I know probably four or five different languages well enough to
tackle a modest problem with any of them. From C/C++, Java, Fortran and
its flavors to some Ada and Pascal. Each has its strengths and its
target audience. Most of the engineers I have met have learned Fortran
at some point in their educations and as most of the places I have
worked have performed engineering of some sort, fortran has been very
popular, not because it was the best tool but because it was the most
familiar tool. When I moved to a different company, Ada became the most
favored tool, because of its strict typesafe abilities and the
corporations military contracts history (read, the military forced them
to use it through regulations). The companies that I have worked for
that were more software oriented than hardware oriented tended to use
languages such as c which were designed with an operating system in mind
but were darlings in that industry because companies such as Microsoft
enforced a standard by writing their system api's in c or c++ because
Mr. Gates felt that the "natural order of a business entity should be,
code reusability"<paraphrase>. Thus, he felt c and c++ to be the most
likely candidates for his business.
 	In none of these situations has anybody been capable of convincing me
that functional versus logic-based versus object oriented programming
was the "best paradigm" in any one specific situation all the time let
alone for all classes of problems. Thus I know several languages so that
when features I require are not available in one language I am able to
switch to another. I do not believe that anybody should hold to a
paradigm so strongly to the detriment of their ability to see things
from other perspectives and thus learn something new.

	On to point two. When you read the Stephen Wolfram Manual for
Mathematica 2nd ed. ( I have a newer version now ). He states that
Wolfram Research in effect targeted a functional style programming
language as it seemed most natural but also uses symbolic and rule-based
methods. The biggest argument over the past few years over functional
versus object-oriented is which is more natural to use. I would argue
that "natural" is not a function of the language but a function of the
persons paradigm. In fact, it is not 'natural' at all for humans to sit
at keyboards and type mathematical problems. Historically, humans have
been hunters and farmers for the most part. Therefore natural, normal,
etc. is not defined for everyone which is why companies such as Wolfram
Research continually search for better methods, faster algorithms and
most importantly to my point... the best way of representing the usage
of their product. This programming language argument is really like the
art argument. I find Robert Maplethorpe offensive pornography, others
find it art. The perspective is in the eye and not what the eye sees.


Andrzej Kozlowski wrote:
> 
> I would like to comment on only one aspect Orestis's  message namely the
> idea expressed in it (and in some earlier postings) that "object oriented"
> programming is "the norm" (and that Fortran has anything to do with
> "mathematics"!) while functional (and logic) programming are somehow
> non-standard and unusual (and were  "original" at the time when Mathematica
> appeared).
>  I first took a programming course as a first year mathematics
> undergraduate, well before personal computers came into existence. I learned
> "procedural" programming and found the whole idea tedious and intellectually
> trivial, having no more to do with mathematics that a pocket calculator. I
> began to change my mind only about a decade later, when I came across LISP,
> which by that time had become the de facto standard among people who were
> doing any kind of serious mathematics using a computer. I think this was
> also largely true about physicists. I have never met anyone who used Fortran
> for what I consider mathematics.
> Mathematica appeared at around that time. It was written by a well known
> physicist and its original target user community was mostly physicists and
> mathematicians. It's programming language was one of its most attractive
> aspects, but it was because it was one that was already  known and  well
> accepted by this particular user community.  As far as I can tell the
> situation remains the same today. Functional programming together with logic
> programming are much more important for mathematical and scientific
> applications than object oriented programming. As an illustration I will
> note that first year undergraduates at Cambridge University have to study ML
> (functional) and Java (object oriented). Those intending to pursue physics
> or mathematics find the former the more useful, those interested in software
> development the latter.
> The reason why I am writing this is not to try to denigrate object oriented
> programming but to point out that the community of users of Mathematica is
> very varied, and one should not assume that we all all making statistical
> models or something of that sort. In fact, I would argue that even today
> what makes Mathematica so remarkable a tool is that it was designed by a
> person with a sophisticated understanding of mathematics and the most
> natural way to program when working with mathematical structures. I
> certainly do not mind other people developing their different paradigms but,
> I  would find it  regrettable if Wolfram Research ever put any serious
> effort into developing alternatives to what already is the best and the most
> natural paradigm for programming mathematics.
> 
> Andrzej Kozlowski
> 
> on 6/22/01 3:20 PM, Orestis Vantzos at atelesforos at hotmail.com wrote:
> 
> > Many people post to this group with original ideas, some feasible, some not,
> > some interesing, some not. Well, in any case original. It takes some mental
> > discipline for the advanced users (pardon me the vanity to include myself)
> > to really think about what the poor newbie says. And I am not talking about
> > the posts of the form "I have a problem, bla bla bla..." or "My Mathematica
> > has a bug, bla bla bla...", I am talking about the "Wouldn't it be
> > nice/interesting/whatever, to do bla,bla,bla...". Better alternatives are
> > ever so obvious, implementation weaknesses can be pointed immediately -
> > basically the first impression is usually "what is this guy talking about?"
> > Mathematica is so vast and versatile,  that I think we don't have yet a full
> > grasp of its possibilities. So when people think of a weird way to do
> > something and they post it in the best Mathematica implementation they can
> > think of (which is probably not that good- Mathematica has a bitch of a
> > learning curve), we beat each other to the keyboard to provide our code,
> > often in the form of "the right code". Some among us even beat the ambitious
> > newbie into pulp, rushing to show him just how pointless and reduntant his
> > approach is. A clear point is made: "we don't need your thoughts, we have
> > everything solved".
> > Ponder this my fellow "Mathematica Gurus":
> > A weird mathematician walks into a programmer's office and starts talking
> > about a program with symbolic capabilities, that will provide a front-end
> > with formitable typesetting and graphic features and will be based on
> > functional and rule-based programming.
> > The programmer listens to all this and says:
> > "Your thoughts are foolish- we have fortran,C,linpack,whatever for
> > mathematics and as for typesetting you have LaTeX And who would program with
> > RULES?! All the major software engineering projects are procedural/object
> > oriented. You don't need it, it can't be done, it would be too slow, there
> > are other programs that do the same thing, and so on and so on..."
> > You get the picture, I suppose...originality IS immature; there is no other
> > way. It is not a local maximum, my friends - it is a departure from local
> > maxima in search of greener pastures. So when you encounter it, pointing to
> > your local max won't help ;-)
> > Handle it with care please...if some people didn't pursuit their "foolish"
> > dreams, we would all be talking in the FORTRAN2K forum now.
> > Orestis Vantzos
> >
> >
> >
> >
> >

-- 
/*******************************************/
Beer, it's not just for breakfast anymore!
/*******************************************/


  • Prev by Date: Re: Re: roots
  • Next by Date: Re: Encode
  • Previous by thread: Re: Originality
  • Next by thread: Encode