From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Sun, 11 Oct 2015 05:52:13 -0700 Message-ID: <561A5B7D.1050100@dancol.org> References: <561A19AB.5060001@cumego.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="8egBHRG7QNBa0LB9iuinvCUaJNMk3Vjd1" X-Trace: ger.gmane.org 1444567958 3260 80.91.229.3 (11 Oct 2015 12:52:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 11 Oct 2015 12:52:38 +0000 (UTC) To: =?UTF-8?Q?Przemys=c5=82aw_Wojnowski?= , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 11 14:52:37 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 1ZlG7B-0008FY-BP for ged-emacs-devel@m.gmane.org; Sun, 11 Oct 2015 14:52:37 +0200 Original-Received: from localhost ([::1]:48275 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlG7A-0000WT-Ig for ged-emacs-devel@m.gmane.org; Sun, 11 Oct 2015 08:52:36 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56509) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlG6x-0000W1-0l for emacs-devel@gnu.org; Sun, 11 Oct 2015 08:52:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlG6v-0004tM-Rh for emacs-devel@gnu.org; Sun, 11 Oct 2015 08:52:22 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:51184) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlG6v-0004tI-II for emacs-devel@gnu.org; Sun, 11 Oct 2015 08:52:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:References:To:Subject:From; bh=waWpbErdi10kYkBb4i34mXF3WbYonrcyadD1MkUrxoE=; b=iPGLI0CPhy9HgxNOe/DUW4YVsHZ7rhOyolgtnMMEFWc915bYiriFdDyeEC2TVLiD/9f7/2L/8T0gHyfR82KCvYMILh0CoT4l02U3zmYluM4GtB4Hzt/IFQSp3An2AvHr4PMS+8nBV0D2LLalCum4f8xtFXw+zWnsgFL5x1oWNOIZQXqdEJK5AK8uydSnYbHuGhsGnSxL9n0hqA4pU5LWsVNU4hVoyUQckhR1MG88a4SyiEidtlU7E0Pby7GfgHlWmR0VgX/U6P7d67z4tEUOQAXhsAc2KsL+GNjbz0NK0Au5Pef5uUOw6LAij09fqVt441NwfoLss+HRnTO3j4qFEQ==; Original-Received: from [2620:10d:c090:180::7f2a] (helo=[IPv6:2620:10d:c081:1101:2ab2:bdff:fe1c:db58]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1ZlG6t-0000mL-GU; Sun, 11 Oct 2015 05:52:19 -0700 X-Enigmail-Draft-Status: N1110 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: <561A19AB.5060001@cumego.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 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:191218 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --8egBHRG7QNBa0LB9iuinvCUaJNMk3Vjd1 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 10/11/2015 01:11 AM, Przemys=C5=82aw Wojnowski wrote: > Hello everybody, >=20 > Recently I was going through Emacs C code and immediately one thing com= e > to my > mind: "Did anyone consider rewrite it a more maintainable language?" :-= ) >=20 > Did anyone consider pros/cons of having base code in other language? > AFAIK maintenance cost of C code is pretty high, because the code is > tangled, > has no tests and the language has its limits (e.g. no namespaces, no > abstractions, etc.). Maintaining that and adding new features will be > harder > and harder. As others have pointed out, most of Emacs is written in Emacs Lisp. As for the rest: a common understanding among a certain crowd these days is that C is a broken, legacy language that nobody really understands. But the operating system kernel and window system you used to compose your message are a giant C programs. Linux and Xorg are blasphemies against hipster software engineering. Both generally work fine, as does Emacs. The Emacs C core isn't going anywhere. You're welcome to try to rewrite it, but if C really were such an albatross, I'd expect at least one of Hemlock, JEmacs, Ermacs, Ymacs, Climacs, or EdWin to have become a viable contender by now. Yet here we are, talking about GNU Emacs. We can improve the Emacs core by making it less "tangled" (e.g., abstracting away frame functions so that we can support more than one window system) and by writing better tests for some of the hairier bits of functionality (e.g., the recently-broken syntax engine). These potential improvements have nothing to do with language choice. I'd rather people focus on fixing long-standing problems and adding new features than satisfying some aesthetic impulse by reimplementing the same old functionality in a new language. --8egBHRG7QNBa0LB9iuinvCUaJNMk3Vjd1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJWGlt9AAoJEN4WImmbpWBlM+MP/0yVFwjDh7xTdOkv7XDemuRG Vx+alkRg9Pga80vaVR9YlRogD//2ZMbOnfoTCg7YOHeLHlw92YI9LaJ69o7FVDdz 4+Pn+bC9dA5izRF8tTxdGS25Ti9w7VuZNa9Aa4jWFQWUdCFPkaF61sXke4cqJRSf 6jRlaMbejcVeAhwFr4nHrZ4tzBS2eRxkH6RVDlPULwTb/Ow9gYmbsCjnTzbWABLk TNy+s9rUSaiAGRfIrdqe5P70jSvxVfPQIwL76OvTwQgKWs7FkhGZj7xJenQrHPEL 8twNgqvxecFghOo32UZenSj1eUz2cx5j+5lZ2mpUWd9DCxfOneegRcYYPC7pbA16 JPeCbHKTiLqYhL9JvBhmFYX6AyrpU5uv7GTU3HEQVOEqYTed64rlvAYvwLYZY0WT +5CIWYOlfEMpvv+syzhTdUXDtkRgrbI8KA52Wq1o0KIyXIWCRgCWwqvmm2ZdzBeO bBufgyGSbVM6n7ldfP4TXw3jki68xmm8L8j9+KgmWBOaR1a6vL11SFSSSZvTn5Cm Op1GnIN1OZGHPuZPRmbj+OWZhHftSUoS2tUga8DI73yL+T38MyS6mtgMLhZ9eXtm /YWxWhOUjohLrboK+5gEVW9bpjA4556IS/GYojmpUVuCvEE7t+mia6dNLeO4iLSl GTEAr792ylXpysFP5Vjz =di59 -----END PGP SIGNATURE----- --8egBHRG7QNBa0LB9iuinvCUaJNMk3Vjd1--