From: David Park on
Replying to your two emails Tony.

I agree with you that there are problems (or we might say challenges!) but I
disagree with you on the identification of the problems and the solutions.

You see the problem in WRI trying to do too much and Mathematica being too
difficult to learn with all its features. You see the solution in a pared
down Mathematica, perhaps something more like a super-graphical-calculator,
and better documentation.

I see the challenges differently. I'm really enthusiastic about Mathematica
because I see it as a revolutionary medium that allows one to write literate
mathematical documents with all the power of Mathematica behind the
document. Such documents have tremendous advantages over the present
practice. They have a large amount of self-proofing; they create generated
knowledge in the form of definitions and routines; they can be much more
expressive with all the active and dynamic capabilities of Mathematica. It
may take a while for this concept to be taken up by the majority of users
but I am certain it will eventually win through because of its great
advantages.

Obviously, I wouldn't want a pared down Mathematica. That would destroy the
prospects. I really don't want an application that is just a
super-calculator or a programming language. I want to be able to write,
communicate AND do math with it.

I see the principal problem as being education and acceptance of the
application. One can't just buy Mathematica off the bit-server and start
using it productively. We didn't learn how to write literate essays in a
week. We actually had years of schooling in the use of our language. We
can't just add mathematics and the use of Mathematica in a week - especially
with graphics and dynamic presentations. Mathematica may have its quirks,
but most languages have their quirks also. We just have to learn about them
and practice. Students who might be headed toward technical careers should
really be starting in early secondary school. That's the real problem! It
isn't sufficient for students to get to university, illiterate in
mathematical writing, and just modify examples provided by the professor.
They have to be able to think with Mathematica on their own. It isn't
sufficient to do calculations without integrating them with textual
discussion. (Unless you're a super genius that is.)

By the time students get to university they should know the basic syntax and
usage of Mathematica. They should know how to use Help. They should know how
to write definitions and routines in good style. They should know how to do
reasonable graphics and some dynamics. They should know how to write
packages. They should have written a few mathematical essay notebooks using
sectional headings and textual discussion.

A second major problem is that Mathematica notebooks should be able to be
read (but not written) by anyone. I think that WRI is not oblivious to the
problem and it might get solved.

Another problem is the cost and acceptance of Mathematica. Some people in
academia resent the commercial status of Mathematica. I think this is unfair
because there are LOTS of commercial products that have near monopolies in
various educational niches. But the WRI use restrictions, licensing
practices, and cost, do present barriers. I don't know what the answer to
these problems are, but surely there are answers.

Finally, this whole discussion got started with the behavior of 1., -1., I
and -I, and pattern matching. Whether or not this behavior could be
improved, anyone who has had an even half-way good education in Mathematica
knows that looking at the FullForm is the way to diagnose pattern matching
problems. And students should learn early not to mix approximate numbers or
units into symbolic equations. And they should also learn early that
Conjugate and ComplexExpand is the general method for taking complex
conjugates. These are far more educational issues than they are Mathematica
issues.


David Park
djmpark(a)comcast.net
http://home.comcast.net/~djmpark/



From: AES [mailto:siegman(a)stanford.edu]

In article <hhf5kg$go6$1(a)smc.vnet.net>,
Murray Eisenberg <murray(a)math.umass.edu> wrote:

[Re documentation issues and I->-I]

> Only gathering usage statistics, or having a focus group of users trying
> stuff, might suffice to escalate some issues to the point of requiring
> more prominent warnings.

1) Fully agree. My understanding is that many software vendors (and
hardware equipment vendors, for that matter), at least the larger ones,
do exactly this, systematically and extensively, on their products, and
especially the interfaces to their products. I have no idea whether
Wolfram does any of this or not.

2) On this point let's note that, to many users, the _interface_ to
Mathematica -- what the user has to (learn to) type in, to get useful
results out -- is the most important (and sometimes frustrating?) part
of the product.

What Mathematica does or can do -- it's "capabilities" as contrasted to
its interface -- is of course also of primary importance; and
Mathematica seems to rank very highly on this criterion. It's the user
interface where many if not most of these problems arise.

3) And let's note the explicit assertions by Conrad Wolfram (in the
screencasts/video gallery on the Wolfram web site), and by others, that
Mathematica is intended to be a program that does *all* tasks, for *all*
users, in a *single* application (with 'all' and 'single' taken very
broadly). This means, necessarily:

a) A *very* complex interface (with, in particular, a _huge_
vocabulary).

b) And at the same time, a very broad and diverse set of users, with
very different levels of education and knowledge and experience.

And this may mean that this basic goal and approach of the Wolframs' for
Mathematica may not be realistic or possible. The "focus groups" you
suggest will have to be very diverse in makeup, corresponding to the
huge diversity of the proposed users; and each different group of users
will have different interface (and documentation) needs, and want very
different things.

If the Wolframs' are going to insist on following this path, then user
documentation -- easily accessible, brilliantly designed documentation,
readily available in different forms oriented to the needs of different
users -- is the primary thing they have to focus on.

Thus far, so far as I can see, Heikki Ruskeepaa may be the only person
on the planet who recognizes this and does something about it.
Mathematica's own documentation gets maybe a C- on this score. And
simply expecting ordinary users to learn ever more arcane CAS concepts
and terminology in order to use Mathematica effectively seems as
unrealistic as it is absurd.



From: Bill Rowe on
On 12/31/09 at 3:13 AM, fateman(a)cs.berkeley.edu (Richard Fateman)
wrote:

>No, I think it is not masochism. It is an attempt to provide a
>useful to answer questions that come up from time to time from
>people who would otherwise dismiss a CAS as useless and stupid
>bedause they find unexplainable (to them) behavior.

>Some posts explains that a CAS really could do the mathematically
>obviously correct thing, even if it appears they do not.

But using pattern matching to do replacements is not doing mathematics.

>They may point out that a group of fans insists that the right thing
>for users to do is to discard their mathematically obvious
>understanding and study programming.

>But when the weight of all mathematical obviousness is on one side,
>and the developers could fix a bug but simply refuse to do so, then
>that is simply stubbornness.

Do you have some definition for "bug" other than performance in
a manner different than documented?
That is, failure of any software to do what a user expects is
certainly not a bug if that is what the software is documented
to do.

The key problem here is a novice user of Mathematica might think
of using replacement rules as doing mathematics. That simply
isn't the case. And since replacing one thing with another is
not mathematics, insisting the result makes sense mathematically
simply isn't a realistic expectation.


From: Richard Fateman on
Bill Rowe wrote:
....

>
> Do you have some definition for "bug" other than performance in
> a manner different than documented?

Yes.

> That is, failure of any software to do what a user expects is
> certainly not a bug if that is what the software is documented
> to do.

False.

Here's why. By your definition, no program has a bug if the programmer
asserts that the program, by virtue of being written in a high-level
language, is its own readable documentation. Therefore anything that
the program does is documented by its own code and therefore is not a bug.

or in the immortal words of Peewee Herman "I meant to do that".

>
> The key problem here is a novice user of Mathematica might think
> of using replacement rules as doing mathematics.

Maybe he was confused by the title
"Mathematica -- A System for Doing Mathematics", and thought that
Mathematica was a system for doing mathematics.


That simply
> isn't the case.

Apparently you thought that Mathematica was "A system for doing
rule-based syntactic transformations on FullForm expressions which may
or may not correspond to what is displayed"

And since replacing one thing with another is
> not mathematics, insisting the result makes sense mathematically
> simply isn't a realistic expectation.

TaDa. I couldn't have expressed it better myself. Insisting that the
results of a transformation is mathematically consistent, "isn't a
realistic expectation."

Which, in my view, demonstrates the existence of a bug.

I suppose one could try to determine who is right by a survey, or ask
people in the street what they think.

RJF

>
>

From: DrMajorBob on
> ...since replacing one thing with another is
> not mathematics...

It's what a mathematician spends much of his time doing, I'd say.

Bobby

On Fri, 01 Jan 2010 04:39:36 -0600, Bill Rowe <readnews(a)sbcglobal.net>
wrote:

> On 12/31/09 at 3:13 AM, fateman(a)cs.berkeley.edu (Richard Fateman)
> wrote:
>
>> No, I think it is not masochism. It is an attempt to provide a
>> useful to answer questions that come up from time to time from
>> people who would otherwise dismiss a CAS as useless and stupid
>> bedause they find unexplainable (to them) behavior.
>
>> Some posts explains that a CAS really could do the mathematically
>> obviously correct thing, even if it appears they do not.
>
> But using pattern matching to do replacements is not doing mathematics.
>
>> They may point out that a group of fans insists that the right thing
>> for users to do is to discard their mathematically obvious
>> understanding and study programming.
>
>> But when the weight of all mathematical obviousness is on one side,
>> and the developers could fix a bug but simply refuse to do so, then
>> that is simply stubbornness.
>
> Do you have some definition for "bug" other than performance in
> a manner different than documented?
> That is, failure of any software to do what a user expects is
> certainly not a bug if that is what the software is documented
> to do.
>
> The key problem here is a novice user of Mathematica might think
> of using replacement rules as doing mathematics. That simply
> isn't the case. And since replacing one thing with another is
> not mathematics, insisting the result makes sense mathematically
> simply isn't a realistic expectation.
>
>


--
DrMajorBob(a)yahoo.com

From: Andrzej Kozlowski on
I would say that it only looks like that. What mathematicians (or at
least "pure mathematicians") usually do, is to study various relations
between object "up to some sort of equivalence relation". This can look
like syntactic replacement but actually is quite different - it does not
allow you to blindly replace one thing by another, for example. The best
example in Mathematica that comes to my mind is using PolynomialReduce
to do "mathematical replacement". This replaces polynomials by simpler
ones which are equivalent up to division by a specified ideal.

There have been over the years many posts by Daniel Lichtblau explaining
how to do that. This sort of thing is exactly what mathematicians do and
is quite different from syntactic replacement. The kind of changes that
have been proposed to syntactic replacement would not help at all with
this sort of mathematical replacement at all, so the only effect would
be to sow confusion where there is clarity now (on the programming side)
without making it in the last easier for anyone trying to do serious
mathematics.

Andrzej Kozlowski

On 2 Jan 2010, at 19:06, DrMajorBob wrote:

>> ...since replacing one thing with another is
>> not mathematics...
>
> It's what a mathematician spends much of his time doing, I'd say.
>
> Bobby
>
> On Fri, 01 Jan 2010 04:39:36 -0600, Bill Rowe <readnews(a)sbcglobal.net>
> wrote:
>
>> On 12/31/09 at 3:13 AM, fateman(a)cs.berkeley.edu (Richard Fateman)
>> wrote:
>>
>>> No, I think it is not masochism. It is an attempt to provide a
>>> useful to answer questions that come up from time to time from
>>> people who would otherwise dismiss a CAS as useless and stupid
>>> bedause they find unexplainable (to them) behavior.
>>
>>> Some posts explains that a CAS really could do the mathematically
>>> obviously correct thing, even if it appears they do not.
>>
>> But using pattern matching to do replacements is not doing mathematics.
>>
>>> They may point out that a group of fans insists that the right thing
>>> for users to do is to discard their mathematically obvious
>>> understanding and study programming.
>>
>>> But when the weight of all mathematical obviousness is on one side,
>>> and the developers could fix a bug but simply refuse to do so, then
>>> that is simply stubbornness.
>>
>> Do you have some definition for "bug" other than performance in
>> a manner different than documented?
>> That is, failure of any software to do what a user expects is
>> certainly not a bug if that is what the software is documented
>> to do.
>>
>> The key problem here is a novice user of Mathematica might think
>> of using replacement rules as doing mathematics. That simply
>> isn't the case. And since replacing one thing with another is
>> not mathematics, insisting the result makes sense mathematically
>> simply isn't a realistic expectation.
>>
>>
>
>
> --
> DrMajorBob(a)yahoo.com
>