|
[Date Index]
[Thread Index]
[Author Index]
Re: Mathematica and Lisp
- To: mathgroup at smc.vnet.net
- Subject: [mg129743] Re: Mathematica and Lisp
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Sun, 10 Feb 2013 03:23:14 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <kcqkv4$lq5$1@smc.vnet.net> <kct7fj$sgo$1@smc.vnet.net> <kf2iv5$3o7$1@smc.vnet.net>
On 08/02/2013 10:10, John Doty wrote:
> On Wednesday, February 6, 2013 9:28:00 PM UTC-5, Richard Fateman wrote:
>
>> I personally find the debugging facilities in Mathematica to be quite
>>
>> difficult to use.
>
> I personally don't use them, but I personally find Mathematica programs easy to debug.
>
>> I speculate that it is because the "working model"
>>
>> I have in my mind (and I suspect others share it) is that I am writing
>>
>> programs, composing them in various ways. In reality, the internal
>>
>> evaluation strategy of Mathematica is to apply rules to transform
>>
>> expressions. So while I'm looking for a clue as to which "program"
>>
>> has the bug, the debugging info shows transformations of expressions.
>
> Yes! Now, we're getting someplace.
>
>>
>> This jerking back into the reality of Mathematica's actual nature
>>
>> of evaluation generally prompts me to shy away from the use of Trace.
>
> If you're using Mathematica, why ever leave that reality? Why not stay in it and use its power? If that's not working for you, why use Mathematica in the first place?
>
>>
>> I don't know if it is inevitable, but Trace in particular, and debugging
>>
>> in general in Mathematica seem to me to be quite weak.
>
> Trying to figure out what Mathematica's doing using Trace[] is like trying to figure out what a 1960's mainframe was doing from the blinking lights on the console. Useful in special circumstances, but too much detail in general.
>
This is why I wrote the DebugTrace package - available free from my website.
Sometimes we all have to debug badly structured code. For example, if
you are a consultant, you simply have to understand a client's code,
however it is structured!
Also, many people use Mathematica infrequently, and don't want to spend
a great deal of time understanding its philosophy.
For that reason, DebugTrace reintroduces the fiction of functions, so
that when a program pauses at a breakpoint, or when it generates an
error message, you can obtain a trace-back of what called what, at which
line number. Line numbers relate to a special 'listing' notebook that is
generated as the debugger starts.
Since I don't really like the Workbench, all this runs directly in the
FrontEnd!
David Bailey
http://www.dbaileyconsultancy.co.uk
Prev by Date:
Can Printing of a CDF be Disabled
Next by Date:
Re: Mathematica and Lisp
Previous by thread:
Re: Mathematica and Lisp
Next by thread:
Re: Mathematica and Lisp
|