
On Sat, Aug 3, 2019 at 5:32 PM Steven D'Aprano <steve@pearwood.info> wrote:
On Sat, Aug 03, 2019 at 03:56:55PM +1000, Chris Angelico wrote:
On Sat, Aug 3, 2019 at 3:44 PM Steven D'Aprano <steve@pearwood.info> wrote:
On Sat, Aug 03, 2019 at 03:52:31AM +1000, Chris Angelico wrote:
Also a bit old-school (it took me many years to learn the value of syntax highlighting), and an educator, and I've seen students start out with Jupyter. As an alternative to the vanilla REPL, I think it's awesome [...] But for discoverability, incl tab completion? It's great
*scratches head*
Yeah, you kinda edited me to having a quite different meaning there. That wasn't what I said, thank you.
Did I? If so, it was completely unintentional, sorry.
Apology accepted, and I was a bit snippy there, sorry.
I've re-read your original, and I don't see the "quite different meaning". I read your code as saying that Jupyter is "great" (better than the vanilla REPL) because it has tab completion.
It's better, and it has tab completion, but that's only one of the many additional features it has. It also has FAR better facilities for recalling blocks of code than the vanilla REPL does; Idle has a different way of doing it, and both of them are streets ahead of "recall one line at a time".
I don't know what other forms of "discoverability" you might be referring to. Nor do I know if Jupyter does tab completion differently (better?) than the built-in REPL.
1) I don't trust it on arbitrary (mostly Windows) systems, so when I'm recommending to other people, I can't be confident of it.
Trust it in what way? That it might eat your hard drive or expose your personal details to the internet?
Trust it to exist - sorry, wasn't clear there. The vanilla REPL simply doesn't do tab completion on all systems.
2) Until recently, tab completion conflicted with tab indentation, making the default REPL very annoying.
True enough, but that's long fixed.
Hmm, maybe the fix didn't propagate out, but I remember it being a problem up until very recently (like last year).
3) In many terminals, tab completion of an entire module's contents is impractical.
Being presented with a hundred options or more is rather intimidating, but rlcompleter.py prompts you first:
py> os. Display all 343 possibilities? (y or n)
allowing you to back out, and then simulates paging the output. What does Jupyter do if there are 300+ options?
Not sure, but ISTR it would let you scroll through them. Not something you can easily do in a plain terminal. Tab completion, as a means of shortening the typing of something you already know about, is great. But for discovering something new, not so much. I'm not sure what IS ideal, though. ChrisA