Sunday, April 1, 2007

Interface Gripe #3 - Do what I say!

I'm not a huge fan of Python. I think it's okay, but every time I use it I find something annoying to gripe about. I've pretty much stopped programming in it in favor of Ruby.

However, every once in a while I need to check the version of Python that's installed on my mac. I do the usual version check -- type python -v in an iTerm window. Of course, the proper option for Python is -V, so instead I get a spewage of verbosity in my terminal, followed by the Python interpreter prompt.

The obvious next step for me is to type "exit" or "quit" (or maybe "bye"). What does Python do in response? This:

>>> exit
'Use Ctrl-D (i.e. EOF) to exit.'

Yep, instead of exiting the interpreter, Python feels the need to let me know I didn't issue what it considers to be the proper exit technique. I get Python's pedantic leaning, but do I really need to be trained to exit the interpreter? Just do it, damn it!

I know there could be lots of academic arguments for using an out-of-band signal to terminate the interpreter (namespace pollution, etc.), but I think they're all bunk when you have to put up a page that tells you how to exit. Usability, folks! At least treat the interactive interpreter in a more friendly way. Of course, I can hear the counter-arguments piling up against that (the principle of least surprise). Hey, in the remote cases in which I type "exit" in the interactive interpreter and there happens to be a function named "exit", then just prompt me to find out what I want!

Others have noticed this annoying behavior as well.

1 comment:

Kevin Ueckert said...


Long time. Hope you are well. Drop me a line some time.