MathGroup Archive 2005

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

Search the Archive

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)


  • Prev by Date: Re: Re: Elementary Calculation
  • Next by Date: Re: Re: Re: my wish list for Mathematica next major version
  • Previous by thread: Re: Re: my wish list for Mathematica next major version
  • Next by thread: Re: Re: Re: my wish list for Mathematica next major version