Hi Al

The kind of thing I am looking for is a combination of what is great in IDLE 
plus adapted good ideas from such educational sites as Greenfoot, Scratch, etc.

I do not get so much of the mix up with shell and script from my readers. 
Possibly because we start only working in the Shell which we call “Interactive 
Mode” and then move on to "Script mode" with regular “Interactive sessions” to 
try out snippets of code or do little experiments with new functions to see how 
they work - another fantastic feature of Python and IDLE - straight out of the 
box!

The sort of direction I would like to see IDLE developing would be that it 
opens by default into a simple shell but with the ability to turn on a few 
other panels that stick to each other while being resizable by dragging the 
margins. (This stops students losing windows.)
e.g. http://codingclub.co.uk/IDLE4Ed/IDLE4Ed-shell.png 
<http://codingclub.co.uk/IDLE4Ed/IDLE4Ed-shell.png>
In addition to the documentation and suggestions functionality it would also be 
great if mispelt words (i.e those that have not been declared or are not in the 
python library) are underlined with squiggly red lines, like in word processors 
before code is run.

The turtle module is fantastic for education, especially since you can mix 
turtle graphics with the power of Python seamlessly! The only issue as far as I 
am concerned is again windows disappearing behind each other. An interface 
which controls this might look something like this:
http://codingclub.co.uk/IDLE4Ed/IDLE4Ed-turtle.png 
<http://codingclub.co.uk/IDLE4Ed/IDLE4Ed-turtle.png>

Finally script mode by default (i.e. File, New script) would appear with three 
panels: tabbed scripts, output section and a Console (shell) at the bottom. 
However other panels could be added by ticking them to show in the Workspace 
(or View if preferred) menu looking something like this:
http://codingclub.co.uk/IDLE4Ed/IDLE4Ed-tkinter.png 
<http://codingclub.co.uk/IDLE4Ed/IDLE4Ed-tkinter.png>

These last two examples show how mixing the best of IDLE and a simplified 
Frames model can come up trumps. I believe having tried the Greenfoot tutorial 
that the interface takes a lot of teaching whereas my suggestion I believe is 
intuitive. It gets rid of the problems I see kids have by messing up the number 
of spaces/tabs needed when indenting and negates the need for indent, dedent 
and code out functions currently in IDLE. Instead students press a colon and 
the current frame extends and adds a blank new one within it. Other frames can 
be dragged into any other frame with automatic indenting.
There should of course be a save as text facility for backward compatibility as 
much as anything else. Oh I would also have show/hide number lines as options. 
Sometimes they are helpful to a teacher - others not so.

Although a huge amount of work, I believe (but I am open to correction here) 
that the auto-correct, the suggestions, the documentation and the languages 
could all be added with “alias libraries”. In fact, would it not be possible to 
have all of Python’s key words (32 isn’t it?) run in the background but have 
any number of language aliases for display?

Instead of being modest this time, I have suggested most of what I would like 
to see so that others can feel free to knock them down or, perhaps be inspired 
to think of new and better ideas.

I would also take on board on all of your suggestions except the tutorial mode 
as I see this as digressing from the core value of providing a great IDE 
focussed on writing code.

What do you think?

Best wishes
Chris

> I also don't really see a conflict here. Nobody is advocating for the removal 
> of the interactive shell. In the single-window design I have on the IR wiki, 
> the shell is on the bottom just so that it is always visible (though the pane 
> can be resized to take up more of the window when needed.) One very common 
> problem that I get from readers is that they enter code into the shell 
> instead of the file editor, or vice versa. Since the interactive shell looks 
> so similar to the file editor, having it always be on the bottom gives an 
> obvious spatial cue, rather than looking for the (much smaller) >>> prompt.
> 
> Chris, the good things about IDLE is that 1) it is bundled with Python, 2) 
> doesn't require configuration (good for classrooms), and 3) is simple. Adding 
> script mode/shell mode/turtle mode/professional mode would be a lot of work 
> and also add to the complexity. We don't want to compete with PyCharm and 
> other professional IDEs, and folks can move on to those IDEs after they get 
> some experience.
> 
> Turtle mode doesn't require it's own dedicated mode either; it runs pretty 
> well from the interactive shell in IDLE right now. What were your ui design 
> ideas for a turtle arrangement?
> 
> -Al
> 
> On Thu, Aug 6, 2015 at 3:22 AM, Chris Roffey <ch...@codingclub.co.uk 
> <mailto:ch...@codingclub.co.uk>> wrote:
> Oh dear,
> 
> I have been away for a day celebrating my Mum’s 60th anniversary and so not 
> been able to contribute further. I have followed the discussions with 
> interest and been very excited by them. The enthusiasm and hard work that has 
> gone into making such a useful tool was refreshing and all open source. I was 
> a little embarrassed to be someone suggesting things and yet not having the 
> technical skills to help so “listened” for a while.
> 
> There is so much enthusiasm for Python and Computer Science in UK schools 
> that I think this is very important. I started bebras.uk <http://bebras.uk/> 
> two years ago and we got 21,000 students in our first year, the next 40,000. 
> Success of Computing in the UK is in no way certain as we are chronically 
> short of trained teachers but there is still a momentum.
> 
> I personally feel there is no real conflict between the different views 
> expressed in the last two days. I believe it would be fantastic if we can 
> re-think how to make IDLE the most user friendly IDE for beginners and I 
> would add some cosmetic differences (the ttk stuff looks like it would be a 
> big help in improving the professional look). However I would not remove 
> anything! I had in mind a “Workspace” drop down menu where users call up 
> different facilities. The basics being "script mode" (the shell) and “script 
> mode”. I would also add at least a “Turtle" arrangement and a “Professional” 
> set-up. Would hope that if this is done well, fans of IDLE will be pleased, 
> students and teachers would be pleased AND more professionals would stick 
> with it too - everyone wants an IDE that does not distract from writing code 
> and lets you get on with what you want intuitively. Kids want an IDE that 
> they can grow with so providing pro-features that can be selected as their 
> skills develop is ideal.
> 
> I have some of my own ideas that I have not presented here as I did not want 
> to be too pushy having just joined this group, and as I said I probably do 
> not have the skill to help out. However, I originally was not able to go to 
> PyCon UK this year (in September) but with some encouragement from you guys 
> will try and cadge a late ticket and see if I can drum up some feedback, 
> support, talent and possibly even money if it is required. PyCon UK has a 
> dedicated Education track which this year is being run by the Raspberry Pi 
> foundation. They and ARM sponsor the Bebras comp which I run (now in 
> partnership with Oxford Uni). I am name dropping to show there are some 
> potential powerful advocates with many skills in the UK. I also have friendly 
> contacts in Microsoft and Google. All these people and organisations want to 
> make sure the UK and ultimately the rest of the world have a fantastic CS 
> programme with the best of tools. They are also great fans of Python 3 as an 
> education tool.
> 
> I am off on holiday for a week today but will continue to watch my emails and 
> try to formulate some ideas I am comfortable to share.
> 
> Best wishes
> Chris
> 
>> On 6 Aug 2015, at 10:02, Guido van Rossum <gu...@python.org 
>> <mailto:gu...@python.org>> wrote:
>> 
>> I am not interested in this discussion. You all can do what you want.
>> 
>> On Wed, Aug 5, 2015 at 11:30 PM, Terry Reedy <tjre...@udel.edu 
>> <mailto:tjre...@udel.edu>> wrote:
>> On 8/5/2015 5:55 AM, Guido van Rossum wrote:
>> On Wed, Aug 5, 2015 at 4:43 AM, Terry Reedy <tjre...@udel.edu 
>> <mailto:tjre...@udel.edu>
>> <mailto:tjre...@udel.edu <mailto:tjre...@udel.edu>>> wrote:
>> 
>>     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*.
>> 
>> The core of this comment is "unnecessary and diversionary ...".
>> 
>> As for 'unnecessary', what does adding 'only' add to the discussion? Does 
>> that mean that we should reject features that also benefit non-beginners? If 
>> not, what does it mean?  What extra design guidance does it add?
>> 
>> As for 'divisionary', see, besides the above, my questions that follow the 
>> 'PyCharm' quote.
>> 
>> Please note that I volunteer my time to improve Idle *because* it is 
>> primarily used by students and secondarily, perhaps, by others who are not 
>> professional programmers.
>> 
>> I was worried that you'd respond like this. *No* change to IDLE will
>> benefit *everyone*,
>> 
>> Please give me the benefit of the doubt and assume that I am saying 
>> something sensible. By 'everyone', I mean "everyone who uses Idle" and in 
>> relation to a particular issue, 'everyone who use the feature in question' 
>> and in relation of OS-specific issues, 'everyone using that OS'.  With those 
>> meanings, my statement is reasonably true.
>> 
>> > for the simple reason that few people outside the
>> > (non-higher) educational field use it.
>> 
>> Bruce already covered colleges.
>> 
>> There are also post-beginners, but not professional programmers, like my 
>> daughter, who are so far happy with Idle and do not yet need the advanced 
>> features of other Python shells.
>> 
>> And there are Windows users.  Windows Command Prompt is awful. Interactive 
>> Python in Command Prompt suffers its sins. I believe most Windows users who 
>> try Idle Shell find it to be a better experience. One of the other core devs 
>> once (blushingly) admitted on pydev to using Shell on Windows for this 
>> reason.
>> 
>> > IDLE should not try to compete with things like PyCharm ...
>> 
>> What does this mean in terms of Idle design decisions?  Can you give me 
>> examples of what you think should not be added?
>> 
>> You and Kurt each have twice given general advice that Idle should be kept 
>> 'simple' and not have 'advanced' features added.  But I have trouble turning 
>> that general advice into concrete decision making.  Are there any 
>> enhancement requests on the tracker you would reject as too complex or 
>> advanced?  (To make checking easy, I can send or post a complete, 
>> categorized list.)
>> 
>> A couple of the features at the end of Al's list strike me as the sort of 
>> things you are saying not to do in the advice above.  Do you agree?
>> 
>> In particular, consider post-installation switchable multiple language 
>> support. That would, in general, be of most benefit to the youngest 
>> beginners.  It is also a rare and rather advanced feature, and complex not 
>> only in terms of the programming, but in the need for coordination with an 
>> internationalization group separate from Idle maintainers themselves.  
>> Should we avoid competing with more advanced programs and leave this out?
>> 
>> > , nor with the Emacs/Vim world (and I consider most every text editor > 
>> > professional coders like to use these days on Linux/Mac/Windows to be > in 
>> > that world, from Sublime Text to Atom).
>> 
>> Notepad++ had been recommend as a multiple (50) programming language editor 
>> for Windows on python-list.  I have also seen it mentioned on Stackoverflow.
>> 
>> > IDLE's one redeeming feature is that it's bundled with Python,
>> 
>> As installed, Idle
>> 1. Colorizes Python code
>> 2. Converts \t to '    '
>> 3. Saves in utf-8 (3.x)
>> 4. Checks syntax before running and marks the location of error in the editor
>> 5. Runs the file in -i mode
>> 6. Displays tracebacks and print output in a window with normal cut and paste
>> 7. and can jump to the error line of any file in tracebacks
>> 8. ...
>> 
>> As installed, Notepad++ does 1.  With some searching through the extensive 
>> settings menus, one of which is not obvious, it can do 2, 3, and 5. By 
>> running in Idle or another external, installed program instead of command 
>> prompt, it can get 6.  As far as I know, it can never do 4, or 7 in the 
>> sense of jumping back to Notepad++.  With respect to this 7 points, Idle is 
>> the better choice for developing Idle programs.
>> 
>> I presume that some of the other programs you mention match Idle in features 
>> 4 and 7, which I find *very* useful. But I think you have an overly narrow 
>> view of the virtues of the program you help create ;-).
>> 
>> And to repeat, Idle makes the interactive mode of Python, as installed, a 
>> joy rather than barely tolerable. If it were removed, another replacement 
>> for command prompt should be found.
>> 
>> 
>> -- 
>> Terry Jan Reedy
>> 
>> 
>> _______________________________________________
>> IDLE-dev mailing list
>> IDLE-dev@python.org <mailto:IDLE-dev@python.org>
>> https://mail.python.org/mailman/listinfo/idle-dev 
>> <https://mail.python.org/mailman/listinfo/idle-dev>
>> 
>> 
>> 
>> -- 
>> --Guido van Rossum (python.org/~guido <http://python.org/~guido>)
>> _______________________________________________
>> IDLE-dev mailing list
>> IDLE-dev@python.org <mailto:IDLE-dev@python.org>
>> https://mail.python.org/mailman/listinfo/idle-dev 
>> <https://mail.python.org/mailman/listinfo/idle-dev>
> 
> 
> _______________________________________________
> IDLE-dev mailing list
> IDLE-dev@python.org <mailto:IDLE-dev@python.org>
> https://mail.python.org/mailman/listinfo/idle-dev 
> <https://mail.python.org/mailman/listinfo/idle-dev>
_______________________________________________
IDLE-dev mailing list
IDLE-dev@python.org
https://mail.python.org/mailman/listinfo/idle-dev

Reply via email to