[Date Index]
[Thread Index]
[Author Index]
Re: UNDO and Mathematica - how useless is it?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg97936] Re: UNDO and Mathematica - how useless is it?
*From*: AES <siegman at stanford.edu>
*Date*: Thu, 26 Mar 2009 05:20:33 -0500 (EST)
*Organization*: Stanford University
*References*: <gqd1p2$nrt$1@smc.vnet.net>
In article <gqd1p2$nrt$1 at smc.vnet.net>, Bob F <deepyogurt at gmail.com>
wrote:
>
> So, hey Wolfram -- please fix the UNDO. Make it work like every other
> program on the face of the planet, even the entire Solar System, even
> the known and unknown universe!!!!!!!!!! Even one level of UNDO would
> have saved me hours of working, let alone a multiple level UNDO like
> you see in so many other programs.
>
I suspect this is a near impossible task logically -- and the inability
to have a real UNDO is another (but only one) of the many reasons why
Conrad Wolfram's concept of "Mathematica: The All-In-One System"
The Wolfram Video Gallery
<http://www.wolfram.com/broadcast/videos/> ==>
<http://www.wolfram.com/broadcast/videos/?video=onesystem/onesystem>
is IMHO a *fundamentally* bad idea.
In many (most?) conventional software applications, you have a
*program*, which operates (using operations implemented under user
control) on a separate *document* of some sort.
If you do a sequence of those operations, and then decide you want to
reverse some or all them (because you made a mistake, or just changed
your mind), in almost any conventional app you can back up at least one
step using UNDO; and in many applications you can back up a
near-unlimited number of steps, all the way to when you opened the
document -- and then step back forward on the same chain if you want to.
In Mathematica, however, the notebook is typically both the program
*and* your document. Some steps you take, or operations you invoke,
edit the "program" part of the notebook; some may edit "data" parts of
the notebook (or even "results" parts); some may *execute* one or more
program parts of the document -- which may well operate on, and modify,
in multiple stages, any and all of the "program", "data", and "results"
parts of the notebook.
At this point, is there a single obvious choice as to what is meant by
UNDO? You might want, but could you get, a complete massive
"UN-EXECUTE" of the massive (but now unwanted) execution you just
invoked?
And suppose you suddenly realize this only after several you've invoked
several more operations, edits, commands, whatever?
I don't have anywhere near enough depth in logical analysis or computer
programming to know whether or not a complete multistep or even
single-step UN-EXECUTE is always possible in a system like Mathematica,
other than with some kind of brute force saving of the complete state of
the system.
Even if this is possible, having enough memory to do this for multiple
steps back seems impossible -- not to mention taking into account
various *outside* events (like computer clock time) that might
influencing the evaluation, un-evaluation, and re-evaluation.
So, I continue to suspect that having any kind of user-comprehensible,
multi-stage UNDO in Mathematica is a near impossible task, if not
logically then realistically -- and this rather minor but non-trivial
problem joins many other important more concerns (like unacceptable
complexity of the user interface and syntax, and of the user
documentation, not to mention suppression of software innovation) as
reasons why the all-in-one model of Mathematica, while it may have a
role in providing a massive all-in-one programming system for highly
trained professional programmers, who are hired to write applications
for others, is pretty likely to destroy Mathematica as a usable system
for "ordinary" non-computer-expert users, who just want to use it to
solve much smaller problems in their own field.
Prev by Date:
**Re: UNDO and Mathematica - how useless is it?**
Next by Date:
**Re: coefficients but not from polynomial (variables does not work)**
Previous by thread:
**Re: UNDO and Mathematica - how useless is it?**
Next by thread:
**Bug in D (or Derivative) ( Was: Re: DSolve bug)**
| |