emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add prettify symbols to python-mode


From: Stephen J. Turnbull
Subject: Re: [PATCH] Add prettify symbols to python-mode
Date: Thu, 24 Sep 2015 10:16:29 +0900

David Kastrup writes:

 > Shrug.  So you're right and all those people not programming Emacs
 > in C are wrong.  Too bad there's no prize for that.

Nobody in their right mind would *want* to program in Emacs in C just
because it's there.  IME, most people get involved in writing Emacs in
C because they have performance needs that can't be addressed by
programming Emacs in Lisp, or because their Lisp skills are near zero.
Other languages (Python is one whose dev community is known to me) are
doing a pretty good job of keeping and acquiring C programming skills,
despite having similar C APIs to Emacs's.

While David is correct that the C API is off-putting because you
really do have to take care of the sensibilities of the Lisp engine
when programming, Emacs has done a pretty good job of minimizing that,
with macros like CALLN and (much more important, IMO) by getting rid
of GCPROs (at least for "proof of concept" on all major platforms for
quite a long time, and today there are no supported platforms that
need them).

So the reason that Emacs seems to have a problem recruiting C-level
hackers is elsewhere, IMO.[1]  People who want to program Emacs in C for
some reason can learn the "syntax" pretty quickly.  The semantics of
things like FFuncall are another matter, and the requirement that C
routines handle all possible Lisp error conditions and all possible
Lisp data without crashing is pretty stiff for people coming from the
safety of Lisp (or Python!) programming.  But those are unavoidable
barriers of low-level systems programming.


Footnotes: 
[1]  Indeed, it may be non-existent, merely a matter of "grass is
greener over there" perception vs. other projects.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]