From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?B?7KGw7ISx67mI?= Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Mon, 6 May 2019 23:04:05 +0900 Message-ID: <499970E6-6A31-4DEE-A05A-BC8295F1AB76@icloud.com> References: <20190503103644.63lccjehmzulaojn@Ergus> <456EE4D4-F542-4F6A-B146-E6B9D72AE93B@icloud.com> <83tvebn1we.fsf@gnu.org> <20190503125832.44ovncaxp3vyjsla@Ergus> <20190504133218.g3ysx3ksuyvlthg3@Ergus> <831BD780-F954-4E23-BF31-ED4E135C919B@icloud.com> <20190506125848.okei2qrib7m5p3vx@Ergus> <875zqnbtcc.fsf@telefonica.net> Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="142668"; mail-complaints-to="usenet@blaine.gmane.org" Cc: help-gnu-emacs@gnu.org To: =?utf-8?Q?=C3=93scar_Fuentes?= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon May 06 16:04:32 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hNeEK-000b0U-Ia for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 16:04:32 +0200 Original-Received: from localhost ([127.0.0.1]:56989 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNeEJ-0002bk-LZ for geh-help-gnu-emacs@m.gmane.org; Mon, 06 May 2019 10:04:31 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:43896) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hNeE4-0002bd-Cn for help-gnu-emacs@gnu.org; Mon, 06 May 2019 10:04:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hNeE2-0001S9-Ff for help-gnu-emacs@gnu.org; Mon, 06 May 2019 10:04:16 -0400 Original-Received: from pv50p00im-zteg10021401.me.com ([17.58.6.47]:36123) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hNeE0-0001QP-Mh for help-gnu-emacs@gnu.org; Mon, 06 May 2019 10:04:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=04042017; t=1557151449; bh=SfQUD22ZrJyaLgN7Zc07/aPr9N0RP9RcpzMlt8PioKw=; h=Content-Type:Mime-Version:Subject:From:Date:Message-Id:To; b=SPszBpEbJpIk3i3zkWXGM6Pb+JJAfy+5qNLpYseXQpk/ouSL27GW8CJVjnA6M3hY3 pXh/xxNC7LHSRuvmYiJ3P3I35MvgjdAMMvPq794xLzePU29cXcfL1n0Iuywo/Z37bh fI010cXvPBOtHEDAB9BeDRTmTa1f234923xHKY+yTQmN+/mD4EQcnH3JnLLCkVl3lQ 1FBgGcKMwv2lkbWQJ6EvUNV3yTkcox7FnxdAg4upL4A6/zxs6uw6yTyWBP81JLROII 1bmHVRoMU+q0V2nuDHU6POVzcWIeqHiS1IIea+7q3bq7KAxDTeDvaIvzxlBnwcpivK xySzIqERO/jQg== Original-Received: from [192.168.0.156] (unknown [115.93.75.204]) by pv50p00im-zteg10021401.me.com (Postfix) with ESMTPSA id 63D4B480222; Mon, 6 May 2019 14:04:08 +0000 (UTC) In-Reply-To: <875zqnbtcc.fsf@telefonica.net> X-Mailer: Apple Mail (2.3445.9.1) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-06_09:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=754 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1812120000 definitions=main-1905060122 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 17.58.6.47 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:120229 Archived-At: > 2019. 5. 6. =EC=98=A4=ED=9B=84 10:33, =C3=93scar Fuentes = =EC=9E=91=EC=84=B1: >=20 > Ergus writes: >=20 >> Bringing a C api and use Lisp for high level or interactive functions >> reduces overheads, simplify the C code we have and enables a more >> modular design. But I know that try to do that now is not realistic = with >> the amount of code and people we have. So that's why I was talking = about >> Guile, but after all it seems not to be realistic either. >>=20 >> So whats the alternative? Keep our interpreter as is and deal with = few >> developers (and decreasing) and performance issues and a lot of code = to >> maintain? >=20 > Emacs doesn't suffer from scarcity of Elisp programmers. Emacs lacks C > programmers. 1. Arguably this is because Elisp *is* the extension language of Emacs. 2. Arguable Emacs suffers from both. :-( I have yet to find a good flow = (a static type checking variant of JS from facebook) mode. I have yet to = find a good debugging package (dap-mode comes close). I have yet to find = a good . Most Emacs packages have an = equivalent one (if possible0 in Atom, VSCode, etc=E2=80=A6 but there are = *lots* of packages that lack in Melpa.=20 3.=20 > Maybe it is related to how easy it is to get something working on each > language. Elisp has a huge advantage over C on that aspect, not only > because Elisp is more simple and way more expressive, but also because > of the REPL (no edit-compile-run-crash hamster wheel) and because = Emacs > is, in practice, a Lisp machine with the associated advantages. Also, um=E2=80=A6 comparing Elisp with C for =E2=80=98easy=E2=80=99?=CC=8A= =CC=88 Maybe comparing with JS, Python, Scheme, CL would be better, and = Elisp isn=E2=80=99t always superior. Elisp is more expressive and allows = better abstractions than most ALGOL-derived languages, but esoteric = function names and scoping rules that default to dynamic scoping, etc=E2=80= =A6 CL is superior than Elisp in almost all viewpoints. Scheme also has = superior points to Elisp. I wouldn=E2=80=99t say that Elisp is the selling point of Emacs; why did = Atom succeed much more than Emacs?=CC=8A=CC=88 The reason Emacs succeeded is that Emacs allows tweaking the editor to = the extreme; Atom was successful for similar reasons albeit using JS = instead of Elisp. > Elisp is a hacker's dream. Not so C. Lisp was, and is a hacker=E2=80=99s language. C++, Java is a corporate language.=20 C was, and is a hacker=E2=80=99s language.=