From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp Date: Tue, 13 Jan 2015 11:16:39 +0100 Message-ID: <87wq4rgf3s.fsf@fencepost.gnu.org> References: <54B1B97E.9070204@gmail.com> <87fvbhskl5.fsf@engster.org> <54B456F1.4060706@gmail.com> <20150112192705.2779de2f@jabberwock.cb.piermont.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1421144222 28017 80.91.229.3 (13 Jan 2015 10:17:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 13 Jan 2015 10:17:02 +0000 (UTC) Cc: Jacob Bachmeyer , David Engster , emacs-devel@gnu.org To: "Perry E. Metzger" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 13 11:16: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 1YAyWv-000730-D1 for ged-emacs-devel@m.gmane.org; Tue, 13 Jan 2015 11:16:57 +0100 Original-Received: from localhost ([::1]:38252 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAyWu-0007aL-6a for ged-emacs-devel@m.gmane.org; Tue, 13 Jan 2015 05:16:56 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56493) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAyWg-0007a3-0b for emacs-devel@gnu.org; Tue, 13 Jan 2015 05:16:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YAyWf-00063D-0G for emacs-devel@gnu.org; Tue, 13 Jan 2015 05:16:41 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33573) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAyWe-000639-St for emacs-devel@gnu.org; Tue, 13 Jan 2015 05:16:40 -0500 Original-Received: from localhost ([127.0.0.1]:40747 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAyWd-0001SD-I1; Tue, 13 Jan 2015 05:16:39 -0500 Original-Received: by lola (Postfix, from userid 1000) id 2FDE0DF3B9; Tue, 13 Jan 2015 11:16:39 +0100 (CET) In-Reply-To: <20150112192705.2779de2f@jabberwock.cb.piermont.com> (Perry E. Metzger's message of "Mon, 12 Jan 2015 19:27:05 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:181210 Archived-At: "Perry E. Metzger" writes: > On Mon, 12 Jan 2015 17:21:21 -0600 Jacob Bachmeyer > wrote: >> >> Parsing is relatively simple compared to the rest >> >> of GCC. >> > >> > I don't think the guys maintaining the C++ frontend would agree... >> >> Then C++ is even more complex than I had thought. I last used it >> for a freshman course in college some years ago. > > C++ is an amazing mess. Parsing is grotesquely hard for a modern > language -- C++ isn't even remotely LALR -- and on top of > that, we have things like the template language which is Turing > complete. The language is also more and more complicated with every > passing year -- modern C++ is a huge language compared to the C++ of > 20 years ago. To write software well, it's a valid strategy to hack together some prototype and tweak it until it does the job, then throw it away and rewrite from scratch. "Modern C++" has been developed like that. Except that it missed out on all the "throw it away" stages. It's like a reptile with a genetic defect that kept it from properly molting, so there is lots of old and patchy and flaky stuff of the original small frame all over the place and grotesque mounts of flesh squeezing out from the original fossilized skin. "Ada's too big. Let's just patch up C instead." I actually like Lua because it is sort of the antithesis of C++. Instead of the "let's see what else we can cram into the language" approach, they use more of the "let's see what we can do without" approach. Also a bit overdone (for example, statements are _optionally_ separated by semicolon but just whitespace is enough), but it leaves much less of a bad aftertaste. -- David Kastrup