On 8/4/2015 6:53 AM, Chris Roffey wrote:
Hi everyone. This is my first post to the list but I have been reading
through the archives before joining.

Welcome.

Python is now the most popular programming language in UK schools in
11-18 age group with something like 80% of GCSE Computer Science
students now submitting code for these exams (at age 16) in Python.

Wow.

I have a love of Python and IDLE similar to that described by Al
Sweigart in his talk on re-imagining IDLE for education:
https://www.youtube.com/watch?v=u58DiW_t2lM

I will get back to this.

it would be fantastic if IDLE could be re-imagined with solely
beginners in mind.

As a user of Idle for several years, and not a beginner, I disagree with 'only'. That aside, I consider it unnecessary and diversionary from the numerous known issues that will benefit *everyone*.

Back to I.R.,
https://github.com/asweigart/idle-reimagined/wiki
https://github.com/asweigart/idle-reimagined/wiki/Killer-App

From my viewpoint, forking Idle would mostly be a diversionary waste of energy. But Al has to decide for himself what he wants to do. As it is, I have applied 4 of his patches this year, soon after being posted. The 5th one, renaming idlelib files to pep8 standards, is something I wanted to do a year or two ago and would have if it were allowed.

Most of the "features that will distinguish IR", so he claims, are issues on the tracker awaiting commit ready patches.

2. Tabbed file editor: 5 years ago, I asked on pydev whether we could use ttk.Notebook to do this, for both shell and editor, and opened
https://bugs.python.org/issue9262
Today I finally got a positive answer from Nick Coughlin after changing 'replace with ttk' to 'add ttk as optional'.

1.a Single window with multiple simultaneously visible panes: I have floated this idea multiple times multiple places, which I believe includes other issues on the tracker. There are people who like having a taskbar item per window, and will thereby oppose this and 2. above. I have not opened a tracker issue because 2. above has to come first.

1.b stacked vertically: a mini shell is inadequate for real exploration. I think horizontal stacking, with tabs in both panes, would be much better.

3. Foreign language support: better called non-English support, i18n, or internationalization. Again, approved in principle, but development work and patches needed. I and other devs commented extensively on https://bugs.python.org/issue17776

4. Autosave: issue already linked (https://bugs.python.org/issue19042)

5. Integrated PIP: see https://bugs.python.org/issue23551 to add a PIP gui.

6. Pastebin: nice idea, but use of the trademark initially confused me. codetrade.python.org would not be specific to Idle. Access to it could be done either as an Idle extension or as an external program accessed from Idle (see 10b.)

7. Better tracebacks, local variables: Already available as Debug => Stack Viewer. This needs improvement, so I opened
https://bugs.python.org/issue24790
Stack Viewer is no hotkey. Perhaps the author considered viewing locals as a non-beginner activity.

IndexError discussions: I would like bad index also, but...
https://bugs.python.org/issue18162 why not a slam dunk issue
https://bugs.python.org/issue21911 (closed as dup)
https://bugs.python.org/issue1534607 (ditto)

8. Error explanations: I think the writing and translating should be done for general use and not just for Idle. I have had in mind that there should be a HOWTO explaining tracebacks and then listing problematic error messages and explainations. If there were such a thing, then "SyntaxError: EOL while scanning string literal" itself could be underlined as a link. Translations of Python docs are handled by national groups.

This gives me another idea: in the traceback, underline 'line ####' as a link so that clicking takes one to the line. This would be easier and more obvious than rt click, move cursor down, left click. (Ditto for grep output.)

9. Detect/warn 2 code run on 3: compile() already detects, raises, and marks the spot of an error. I think doing more is the job of 3rd party code-checkers. See #10b for using with Idle a checker that does this, if one exists.

10a. Real-time lint: I would like this too for things that are actually possible. It would involve existing or new Delegator layers. Colorizer already detects 'abc\ndef' in the sense that it only colors 'abc', so I believe it could take action when \n is entered. The hints from smart indenting could be documented. "if a\n", without an indent is a signal that ':' was not entered, because if it were, Idle would insert the indent and the user would see 'if a:\n ".

10b. https://github.com/asweigart/idle-reimagined/wiki/Real-Time-Lint
"The idea of having a style checker (such as for PEP8) was already considered and rejected."

This is, at best, misleading. The proposal to incorporate the specific code checker named "pep8", disliked by many core developers, *was* rejected. But I *accepted* the general idea of accessing code checkers from Idle. The patch on https://bugs.python.org/issue21880 is perhaps 90% ready. I am hoping that Mark will help me finish reviewing and maybe revising.

This patch is about extending Idle without writing Idle specific extensions. The generalization would be to run any external program that takes a filename as input, not just a code checker. The patch include the ability to set other arguments.

11. Tutorial plugin system: I believe this has been discussed elsewhere, with the idea of using the Python tutorial as the first example. But this should be a standalone tkinter app.


Minor issues

1. Line numbers: issue already linked
https://bugs.python.org/issue17535
I believe this is 90% done. I am hoping that Mark will help me finish reviewing and maybe revising.

2. Detect disk changes: Notepad++ checks when the app or a window becomes active. For changed windows, it gives me the choice to update the file in the editor, or not. Useful. Someone open an issue and submit a patch.

3. Start maximized: rejected as mandatory, accepted as startup option.
https://bugs.python.org/issue23937
This would be more useful with horizonatally stacked panes.

I have about 40 unposted ideas on my private list. Perhaps I should open more issues. In any case, ideas are common, commit-ready patches are rare.

--
Terry Jan Reedy

_______________________________________________
IDLE-dev mailing list
IDLE-dev@python.org
https://mail.python.org/mailman/listinfo/idle-dev

Reply via email to