[Python-3000] PEP 3131 accepted
ntoronto at cs.byu.edu
Wed May 23 21:48:10 CEST 2007
Josiah Carlson wrote:
> Thank you for hitting home that unless people use Emacs, their tools
> arent sufficient for Python development. I still don't believe that my
> concerns have been addressed. And I certainly don't believe that those
> Ka-Ping brought up (which are better than mine) have been addressed.
> But hey, my tools aren't Emacs, so obviusly my concerns regarding using
> my tools to edit Python in the future don't matter. Thank you for the
> vote of confidence.
Though I don't develop an editor in my spare time, I had a similar
reaction to the "Emacs does Unicode this way, which is correct"
solutions. My favorite editor is going to have to get awfully smart.
It reminds me of some friction I experienced when trying out Lisp. It's
fairly painful to program in Lisp without an editor that does
paren-matching and automatic indentation. I tried Emacs, and I didn't
like it, which is a shame because it's the One True Editor for
programming in Lisp. I basically dropped Lisp over this issue.
In Lisp's case, the editor has to be smart because Lisp syntax is
insufficient on its own to express program semantics *to a human*.
(Every programming language has this problem to some extent, Lisp more
than most because of all the parenthesis and general lack of visual
cues, and Python much less than most because of smart use of operators
and syntactically significant whitespace.) This is a user interface
problem for a *language*, so it rubs me the wrong way to have to have it
solved by an *editor*.
Likewise, Unicode identifiers present numerous (detailed elsewhere) user
interface problems. My general feeling is that language issues shouldn't
be solved by editors. You should be able to comfortably change the
semantics of a program with just about any text editor. Otherwise, we
have a situation where some editors are blessed for use with the
language and most are not, and if a would-be programmer's favorite isn't
on the list, he leaves.
More information about the Python-3000