From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Tue, 13 Oct 2015 18:05:52 +0300 Message-ID: <83eggyzu3z.fsf@gnu.org> References: <561A19AB.5060001@cumego.com> <87io6dl0h0.fsf@wanadoo.es> <87lhb82qxc.fsf@gmail.com> <87oag4jk74.fsf@wanadoo.es> <87k2qrki45.fsf@wanadoo.es> <83oag3oosv.fsf@gnu.org> <6909324d6de8929192a27fc0be8267d4@mail.iq.pl> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1444748884 29156 80.91.229.3 (13 Oct 2015 15:08:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 13 Oct 2015 15:08:04 +0000 (UTC) Cc: emacs-devel@gnu.org To: =?utf-8?Q?Przemys=C5=82aw?= Wojnowski Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 13 17:07:57 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Zm1BE-0008Fb-M6 for ged-emacs-devel@m.gmane.org; Tue, 13 Oct 2015 17:07:56 +0200 Original-Received: from localhost ([::1]:36698 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm1BE-0005ZN-8Z for ged-emacs-devel@m.gmane.org; Tue, 13 Oct 2015 11:07:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37860) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm19h-0003Kr-94 for emacs-devel@gnu.org; Tue, 13 Oct 2015 11:06:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zm19d-0005ex-1k for emacs-devel@gnu.org; Tue, 13 Oct 2015 11:06:21 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:37699) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm19c-0005eW-Pf for emacs-devel@gnu.org; Tue, 13 Oct 2015 11:06:16 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NW500500Z1Q4J00@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Tue, 13 Oct 2015 18:05:40 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NW5005DCZ9E00B0@a-mtaout21.012.net.il>; Tue, 13 Oct 2015 18:05:40 +0300 (IDT) In-reply-to: <6909324d6de8929192a27fc0be8267d4@mail.iq.pl> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.169 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:191468 Archived-At: > Date: Tue, 13 Oct 2015 10:27:16 +0200 > From: Przemys=C5=82aw Wojnowski > Cc: emacs-devel@gnu.org >=20 > I don't think this is possible. Some slowdown will be inevitab= le. >=20 > IMHO the performance is overestimated. I don't think it is (see below). But in any case, I was simply responding to a wish, which you deleted, that said: > Or a more radical approach: a Lispy language, easy to learn by thos= e who > already know Elisp, but which can be translated all the way to some= thing > as performant as the current C code ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ My observation above simply says that "Lisp translated into C" will always be somewhat slower than hand-written C. That's all. > Look at Java based IDEs - Idea, Eclipse, Netbeans, etc. > All of them have been written in _slow_ Java (at least according > to C standard) and run on _slow_ JVM. But all of them are able to > attract more users that Emacs, which has core in blazing fast C. Err... isn't "IDE" the subject of another thread? In this thread, we are not talking about attracting more users, we ar= e talking about attracting more _developers_ for the core C code. Anyway, we do have in Emacs a few known performance critical spots, and if we switch to another language, we would like to avoid making them slower in transition. > The truth is that nobody cares about performance as long as it is > _good enough_. Sure. And under some circumstances Emacs does show performance problems precisely by that criterion. For example, the display engin= e is sometimes (fortunately, rarely) too slow to degrees that annoy users. Rewrite those parts in a slightly slower language, and you have a larger problem; in particular, the rare situations where this shows might become less rare. We don't want that. > IMHO C lacks basic abstractions that reduce conceptual weight of > any subsystem/library/concept/etc. Interfaces and namespaces do. > Static typing would also help. As Daniel already wrote in this thread: don't underestimate the complexity of Emacs that has nothing to do with the implementation language. Emacs solves quite a few very complex problems; the solution is therefore complex, and will be so no matter in what language you express it. That complexity is IME the main obstacle fo= r newcomers to Emacs maintenance. The rest is non-negligible, of course, but good engineering practice is to solve the main problem first, and go for the secondary one only afterwards. Therefore, I think efforts to improve the documentation, commentary, and readability of the code will yield higher gains faster than switching to another language.