Raymond Hettinger <[email protected]> added the comment:
I request that this entire new feature be reverted. Having used it in
classroom environment, it has been a catastrophe for teaching and is a
significant regression in usability.
Here are my notes so far:
1) As the OP says, this strong vertical line is visually jarring and against
graphic design principles that allow the eye to group input/output pairs.
Contrast this with Jupyter, Ipython, and previous versions of IDLE which use
strong horizontal delineations between successive input/output pairs.
2) Pasting multiple statements into the shell window causes the first to be
executed and the other statements are silently ignored. This is a recurring
problem with new students and for those with Jupyter experience. For example,
cut and paste these two statements into the shell and press return/enter:
print('hello') # This executes
print('world') # This is silently ignored
3) When students have errors, it is the norm to communicate them via a chat
window. Formerly, the PS1 prompt separated the inputs from the outputs in a
shell session; however, the PS1 and PS2 prompts are not included in a cut and
paste section. The session becomes unintelligible because essential
information is lost. This affects chat, posting interactive sessions to
StackOverflow, and the ability to post examples in docstrings. In the main
Python documentation, the examples always show the >>> but there is no longer a
way to extract this essential information from an interactive session.
4) Related to #3 is that saving the shell window loses all the prompts. For a
decade, I've performed live interactive demonstrations and have saved the
sessions so that students could review it. Those saved sessions are now
unreadable and therefore unusable.
Here is what a saved interactive lesson used to look like:
Python 3.7.6 (v3.7.6:43364a7ae0, Dec 18 2019, 14:18:50)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.
>>> # Quoting syntax: ' " ''' """
>>> 'hello'
'hello'
>>> "hello"
'hello'
>>> '''hello'''
'hello'
>>> """hello"""
'hello'
>>> print('Don\'t prefer backslashes')
Don't prefer backslashes
>>> print("Instead, we've used alternate quotes")
Instead, we've used alternate quotes
>>> print('''She said, "I'm a good string quoter."''')
She said, "I'm a good string quoter."
>>> 30 + 40 - 5
65
>>> _ * 10
650
>>> _ * 10
6500
>>> type(_)
<class 'int'>
Here is what the saved session looks like now:
Python 3.11.0a2 (v3.11.0a2:e2b4e4bab9, Nov 5 2021, 15:54:35) [Clang 13.0.0
(clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.
# Quoting syntax: ' " ''' """
'hello'
'hello'
"hello"
'hello'
'''hello'''
'hello'
"""hello"""
'hello'
print('Don\'t prefer backslashes')
Don't prefer backslashes
print("Instead, we've used alternate quotes")
Instead, we've used alternate quotes
print('''She said, "I'm a good string quoter."''')
She said, "I'm a good string quoter."
30 + 40 - 5
65
_ * 10
650
_ * 10
6500
type(_)
<class 'int'>
5) With new students, we have a problem we didn't use to have before. When
they emulate a live demo, they are typing the '...' PS1 prompt. It is
confusing.
FWIW, when I say "students", I'm referring to adults who are already experts in
their field. Today I was teaching experienced engineers (most with masters
degrees) at a major consumer electronics company. The new IDLE feature
seriously degraded their experience and almost every learner was adversely
affected in some way.
----------
nosy: +rhettinger
priority: normal -> high
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue45451>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com