Subject: What If Python Replaced Elisp? - DN [1]


taashlo@sandia.gov - 08 Mar 2000 - comp.lang.python

 (If you're tempted to post a followup saying something like "Doing
 this would be a waste of time and effort", don't.  Just accept that
 you've missed the point of this posting and move on.)

 This morning I was making some changes to my .emacs file and I thought
 how much easier it would be to use Python instead of Elisp for this
 purpose.  And that got me to thinking about how appropriate Python
 would be in this role.

 I'm just beginning to program in Python (I've finished "Learning
 Python" and am currently devouring "Python & Tkinter Programming").
 And I'm a far cry from an Elisp expert (I know just enough to maintain
 my .emacs file).

 Now I realize that rewriting XEmacs (my favorite emacsen) to use
 Python rather than Elisp would be an enormous undertaking that would
 (probably?) not payoff.  But I believe that the mental exercise involved
 in thinking about what this would entail would be a good learning
 experience about Python's strengths and weaknesses.

 So I'll start us off:

 Elisp function definitions may be interactive or non-interactive.  If
 interactive, then you can use a string to specify how the parameters
 are obtained from the user (types, prompts, etc.).  How would this be
 done in Python?  (Beginner opinion: I would make all functions
 interactive and use a combination of default arguments and explicit
 parameter checks.  For example, default an argument to None and check
 for this at the beginning of the function, if the argument is None,
 then prompt the user for input.  Is there a better way?)

 I saw a comparison of Lisp and Python at
 <http://www.norvig.com/python-lisp.html>; which stated that Lisp can be
 about 100 times faster than Python.  I'm going to assume that this
 doesn't hold true for Elisp.  But is Python fast enough to be a
 scripting engine for an editor?  (Beginner WAG: Python 'feels' just as
 fast, if not faster, than Elisp.  But some of the packages
 (e.g. font-lock) rely heavily on regular expression parsing, which may
 be slower in Python.)

 Would it be easier to add a COM (automation) interface to XEmacs if
 Python were used instead of Elisp?

 Would the GUI be improved by using Tkinter or wxWindows?

 What other advangages/disadvantages would arise due to this change?

 BTW, are there any extensible editors out there that use Python as
 their scripting language?

 Thanks,
 Tad

Last modified
2000-07-20

(195.108.246.52)

Note: you are looking at
the snapshot of an old wiki
- much of this information
is likely to be very outdated