<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 7.03.2016 0:23, Al Sweigart wrote:<br>
</div>
<blockquote
cite="mid:CAM=hmRNN0wvedwRpsO2Sv06u2u_tW6n+xKp8AOJ70WADS8h1Hw@mail.gmail.com"
type="cite">How does it compare to Philip Guo's Python Tutor? <a
moz-do-not-send="true" href="http://www.pythontutor.com/"><a class="moz-txt-link-freetext" href="http://www.pythontutor.com/">http://www.pythontutor.com/</a></a>
I really like how this tool can trace forwards and backwards
through the program.</blockquote>
<br>
Backwards tracing is really nice feature, that Thonny doesn't
support yet.<br>
<br>
I think that pragmatically the most important difference is that
Pythontutor is mostly a runtime visualizer with possibility to
submit your own (small) programs, whereas Thonny tries to be both a
beginner-friendly IDE and then a runtime visualizer. I believe the
usage of Pythontutor is usally complemented with separate IDE (eg.
IDLE), but <b>Thonny wants to be IDLE and Pythontutor combined</b>.
Actually Thonny includes even a Python distribution, so that total
beginners need to install only one thing to their computers.<br>
<br>
The differences in visualization:<br>
<br>
<b>I believe Thonny's way of visualizing function call is superior</b>,
because its stack frames contain the source code, allowing
indication where the "execution point" lies on each frame.
Pythontutor (like most professional IDES) visualizes function calls
as jumps in the source code and I've seen that this messes up
students' model about function calls. For many students this broken
model becomes the roadblock for understanding recursion.<br>
<br>
If I understand correctly, then <b>Pythontutor can't show how an
expression gets evaluated stepwise</b> (pleas correct me if i'm
wrong). Thonny can.<br>
<br>
Pythontutor uses arrows for explaining <b>references</b>, Thonny
uses variables table with names => addresses and heap table with
addresses => values. I think Pythontutor's solution is more
intuitive, but Thonny's solution is more scalable.<br>
<br>
best regards,<br>
Aivar<br>
</body>
</html>