[Python-ideas] Have REPL print less by default
Terry Reedy
tjreedy at udel.edu
Tue Apr 19 18:12:51 EDT 2016
On 4/19/2016 10:03 AM, Michael Selik wrote:
>
>
> On Tue, Apr 19, 2016 at 5:36 AM Franklin? Lee
> <leewangzhong+python at gmail.com
> <mailto:leewangzhong%2Bpython at gmail.com>>
> wrote:
>
> On Apr 19, 2016 4:09 AM, "Paul Moore"
> <p.f.moore at gmail.com
> <mailto:p.f.moore at gmail.com>> wrote:
> > Basic users should probably be using a tool like IDLE, which has a bit
> > more support for beginners than the raw REPL.
>
> My college had CS students SSH into the department's Linux server to
> compile and run their code, and many teachers don't believe that
> students should start with fancy IDE featues like, er, syntax
> highlighting.
>
> That's probably because your professors thought you were more advanced
> than other new Pythonistas, because you were CS students. If I were in
> their shoes, I might chose a different approach depending on the level
> of the course.
>
>> But that doesn't answer my question: would the proposed change hurt
> your workflow?
>
> It might. Would it affect doctests? Would it make indirect infinite
> recursion more difficult to trace? Would it make me remember yet another
> command line option or REPL option to turn on complete reprs? Would it
> force me to explain yet another config setting to new programmers?
>
> I think a beginner understands when they've printed something too big. I
> see this happen frequently. They laugh, shake their heads, and retype
> whatever they need to.
>
> If they're using IDLE, they say, "OMG I crashed it!" then they close the
> window or restart IDLE.
Recursion limit tracebacks with 2000 short lines (under 80 chars) are
not a problem for tk's Text widget. Long lines, from printing something
line 'a'*10000 or [1]*5000 make the widget sluggish. Too many or too
long may require a restart.
> I'd say it's more a problem in IDLE than in the default REPL.
Its a problem with using an underlying text widget optimized for
managing 'sensible' length '\n' delimited lines.
--
Terry Jan Reedy
More information about the Python-ideas
mailing list