Raymond Hettinger <raymond.hettin...@gmail.com> 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 <rep...@bugs.python.org>
<https://bugs.python.org/issue45451>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to