MathGroup Archive 2011

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

Search the Archive

Re: Mathematica daily WTF

  • To: mathgroup at
  • Subject: [mg115132] Re: Mathematica daily WTF
  • From: Richard Fateman <fateman at>
  • Date: Sat, 1 Jan 2011 04:26:07 -0500 (EST)
  • References: <ifj6n0$594$>

On 12/30/2010 4:04 PM, Andrzej Kozlowski wrote:
> On 29 Dec 2010, at 11:55, Richard Fateman wrote:
>> When common programming terms are used in a different
>> manner, it sows the seeds of misunderstanding.
So many errors.

I wonder why your mail system does not interact properly with my mail 
system? Your message has one long line, that my mailer refuses to
deal with, so I have to insert newline characters.
my notes are prefixed with ---

> Actually, it works both ways.

  No doubt for people with a "deeper" understanding of other
  languages who tend to assume that they are dealing with
something familiar when in fact they are not, this could be
  a source of misunderstanding and as such a "bad thing". But
  for most "unsophisticated" users (whose cause you often claim
to champion here) the situation is usually the opposite to this
; this sort of superficial resemblance helps them to use
Mathematica without the need for an extensive study and
  is therefore a "very good thing".

--- you mean like ArcTan[x,y] resembling atan2(y,x)
--- except the familiar order of arguments is reversed?
---  I think this is a unalloyed bad thing.
---  Wouldn't it be better to minimize gratuitous oddities?
---  It is not as though reversing the arguments to, say
---  ArcTan, Append, etc is beneficial.

In fact, this is closely
related to an aspect of the Mathematica programming language
for which you have explicitly expressed a dislike (in a private
  exchange with me): the fact that it contains all these
"procedural" constructs like loops etc.

--- I do not hold this view, and I wonder how you came to believe
--- I hold this view.

  While this
certainly would be offensive to the aesthetics of a pure functional
  language like Lisp (or better Scheme),

--- Lisp is certainly not a pure functional language. In fact it has
--- a construct called loop.  Scheme is not a pure functional language
--- either. It supports imperative state-based programming.

  it actually is one of the main
reasons for the success of Mathematica.

--- I truly doubt that.  After all, Mathematica was hardly the first
--- programming language, or computer algebra system with procedures
--- or loops.

  I remember someone telling me that
  the lack of such constructs was the principal reason for the
(relative) failure of SMP (I don't know if this is true, I
have never used SMP and don't know anything about it).

--- that is evident.  Speculating on the reasons for failure of SMP
--- is probably not appropriate for this newsgroup.

  While Mathematica's
  procedural programming is usually unattractive and often inefficient,

--- Huh? I don't understand why you think M's procedural
--- programming is (especially?) unattractive. Or inefficient.
--- Perhaps you mean its implementation is inefficient? This
--- has to do with the difficulty of compiling it, so it
--- is partly a language issue. It could be partly overcome
--- by adding (optional) type declarations as in lisp.

  there are plenty of users who will not use anything else
  (including one user who frequently takes similar positions
to yours on various Mathematica related issues) and would
  not even consider a alternative program that used Lisp
for programming - just for that very reason.

---  Lisp supports essentially any
--- programming "paradigm" that anyone has come up with,
--- functional, state-based, rule-based, object-oriented,
--- constraint-based, graphical, etc.
--- I assume the person referred to above, talking about Lisp
--- does not know that much about Lisp.
> What I referred to as a matter of "convenient syntax"
is actually a quite crucial issue, for most people easily
overriding in importance anything else mentioned in this thread.

--- Huh? You said M's programming is unattractive.  Are you
--- saying that Function[{x},N[x^x]]  just will not do, and
--- users crucially need the convenient syntax  (#^#//N)&   instead?

---  Happy New year
--- RJF

  • Prev by Date: Re: Manually culling a list
  • Next by Date: Re: Mathematica daily WTF
  • Previous by thread: Re: Mathematica daily WTF
  • Next by thread: Re: Mathematica daily WTF