Re: Re: Re: my wish list for Mathematica next major version
- To: mathgroup at smc.vnet.net
- Subject: [mg60096] Re: [mg60077] Re: [mg60064] Re: my wish list for Mathematica next major version
- From: János <janos.lobb at yale.edu>
- Date: Fri, 2 Sep 2005 04:33:00 -0400 (EDT)
- References: <200509010613.CAA08845@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
There is also "Enter Subsession" under Kernel -> Evaluation and that
is fairly quick with 5.1. I did not look into if you can invoke it
from a program or not.
János
On Sep 1, 2005, at 2:13 AM, David Park wrote:
> It is interesting to hear what things bother students because that is
> important information.
>
> I'm not certain that a debugger is the best solution. Rather, I
> suspect that
> students have not learned well enough how to use Mathematica.
> Specifically
> they should learn that it is an interpreted language and not a low
> level,
> compiled language like C. There are certain prices to pay in having an
> interpreted language, but there are also certain benefits and easy
> development of routines and calculations is one of them.
>
> When users get into trouble they are often trying to do too much at
> once. I
> usually develop a calculation one step at a time and look at the
> output. It
> is not always what I was expecting. One can put a number of steps
> together
> in ONE cell, each step on a separate line. Then examine the output,
> make
> corrections and reevaluate. If I'm satisfied that certain steps are
> working
> correctly I suppress the intermediate output with a semicolon. When
> that
> works I usually construct a routine.
>
> If I have trouble with a routine, usually in the form of a Module,
> I insert
> Print statements to print a location and values of variables at that
> location. If I want to stop at a location I insert Print[...]; Abort
> [].
>
> However, your posting roused me to further investigate the debugging
> facilities of Mathematica. I discovered there is something very
> close to the
> debugger that you want. It's called Dialog. It allows you to stop
> at a given
> point, look at the values of various variables, and continue on.
>
> Here is a simple example:
>
> foo[x_] :=
> Module[{y, z},
> y = x^2Mod[3, x];
> z = Sin[y];
> Dialog[DialogSymbols :> {xx = x, yy = y, zz = z, xmod = Mod[3,
> x]}];
> y + z]
>
> Evaluating
>
> foo[5]
> 75 + Sin[75]
>
>
> opened a Dialog, but the result was not yet present. (This is just a
> horizontal line in the notebook where you can type commands. You
> could open
> a new blank notebook and type the commands there.) Then entering
>
> {xmod, xx, yy, zz}
> {3, 5, 75, Sin[75]}
>
> Entering
>
> Return
>
> exits the Dialog and completes the evaluation of foo[5], which
> appears after
> the foo[5] Input cell.
>
> If you have several debugging dialogs you can use the option
> DialogProlog :>
> Print["point1"] to print the location of the particular Dialog.
>
> So, why isn't that a fairly good debugger?
>
> David Park
> djmp at earthlink.net
> http://home.earthlink.net/~djmp/
>
>
>
>
> From: carlos at colorado.edu [mailto:carlos at colorado.edu]
To: mathgroup at smc.vnet.net
>
>
> I fully agree with the first item. Each year I normally teach
> 3 engineering courses (2 graduate, 1 undergraduate)
> that use Mathematica as one of the tools for problem
> solving. Typical undergraduate enrollment: 80-100,
> graduate: 35-50, so it is not a tiny sample.
>
> By far the 3 biggest complaints heard year after year:
>
> 1) Incomprehensible and untraceable error messages.
> 2) Lack of a simple debugger. Doesnt have to be GUI or
> incremental. Anything is better than nothing.
> 3) Lack of effective interrupts. If user commands a stop,
> stop instantly, wherever you are in a cell, and tell
> user exactly where it did.
>
> These are largely beginner users, not difficult to please.
> For 1) they would be ecstatic with a low-tech device
> called a line number.
> In[] and Out[] baffle beginners since they are dynamic.
> Since they serve no useful purpose, as a teacher I would
> be very happy to see that 1980's anachronism removed,
> and replaced by invariant markers.
>
>
>
>
----------------------------------------------
Trying to argue with a politician is like lifting up the head of a
corpse.
(S. Lem: His Master Voice)
- References:
- Re: Re: my wish list for Mathematica next major version
- From: "David Park" <djmp@earthlink.net>
- Re: Re: my wish list for Mathematica next major version