On Jul 4, 2015 5:16 AM, "Jason Swails" <jason.swails@gmail.com> wrote:
>
>
>
> On Fri, Jul 3, 2015 at 10:01 PM, Sayth Renshaw <flebber.crue@gmail.com> wrote:
>>
>> In future releases of Python should ipython Notebooks replace idle as the default tool for new users to learn python? 
>>
>>
>> This would as I see it have many benefits?
>>
>> 1. A nicer more usual web interface for new users.
>> 2. Would allow the python documentation and tutorials to be distributed as ipython notebooks which would allow new users to play and interact with the tutorials as they proceed. No download separate code retyping just edit run and play.
>> 3. Would allow teachers to setup notebooks knowing that all users have the same default environment, no need for setting up virtualenvs etc.
>> 4. Strengthen the learning base and for new python developers as a whole.
>>
>> Thoughts?
>
>
> IPython and IDLE are different.  IPython is *just* an interactive Python interpreter with a ton of tweaks and enhancements.  IDLE, by contrast, is both an upscale interpreter (not *nearly* as feature-complete as IPython), but it's also an IDE.  AFAICT, IPython does not do this.
>
> Also, look at the IPython dependencies for its core functionalities:
>
> - jinja2
> - sphinx
> - pyzmq
> - pygments
> - tornado
> - PyQt | PySide
>
> None of these are part of the Python standard library.  By contrast, IDLE is built entirely with stdlib components (tkinter for the GUI).  AFAIK, nothing in the stdlib depends on anything outside of it.  And addition to the Python stdlib imposes some pretty serious restrictions on a library.  If the IPython team agreed to release their tools with the stdlib instead of IDLE, they'd have to give up a lot of control over their project:
>
> - License
> - Release schedule
> - Development environment
>
> Everything gets swallowed into Python.  I can't imagine this ever happening.
>

It is certainly true that IDLE and IPython do not cover the same use-cases, and it almost certainly true that putting the IPython notebook into the standard library is infeasible.

That being said, one thing that IPython and other shells have shown is that it is possible to make a much more powerful python shell. So I don't think it is out of the realm of possibility to take a hard look at the current python shell and see where and how it can be made more useful.  The IPython shell is one of many places we could look for ideas.

More out-there, but it probably isn't completely impossible for python to provide some sort of native notebook-like interface, or at least some sort of interface that makes it convenient for third parties to make such notebook interfaces.