On 02/08/2019 06:26, Brendan Barnwell wrote:
> It is massively more discoverable, for one simple reason:
> In teaching people to program, I often use Jupyter notebook, which
> has great autocomplete functionality that can also bring up the
> documentation on any function. You can type itertools.[TAB] and get a
> list, and then you can scroll down the list looking for a likely
> function, and when you get to it you can hit Shift-Tab and see the
> documentation. Certainly other IDEs have similar functionality.
> This is a colossal win over having to go the documentation and look
> through the text for a recipe that is not "addressable" in any way. You
> can't even link to it, for heaven's sake! The function docs in all the
> modules have permalinks but the recipes are just unstructured text.
I'd have to challenge that "colossal win". I am very uncomfortable with
IDEs that try to do my thinking for me, and I start turning things off
on those occasions when I am forced to use them. It would even occur to
me to try autocompletion. Reading the documentation is so much easier,
and far more likely to point me at what the right answer actually is,
rather than just what I think it might be.
There seems to be a clash of generations here, or perhaps a clash of different educational paths. I'm in the same boat as you, but Python's recent success is definitely driven by things like IPython and Jupyter Notebooks which are optimized for exactly the approach to learning that Brendan describes. (And make no mistake about it, it is a form of learning!) I wonder what Raymond thinks (he's the maintainer of itertools and also an educator).
PS. Raymond, if you're not reading python-ideas, Brandon's message is here, and it's well-written: