From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.help Subject: Re: Speeding up Emacs load time Date: Wed, 17 Jul 2013 11:31:27 +0200 Message-ID: References: <87r4ezdiiy.fsf@VLAN-3434.student.uu.se> <87r4ez92ry.fsf@VLAN-3434.student.uu.se> <87txjv7gen.fsf@VLAN-3434.student.uu.se> <26142f86-cacf-40a9-a101-fc8a37818347@googlegroups.com> <8738re4z9v.fsf@VLAN-3434.student.uu.se> <114180ff-1a9a-433a-8420-a53c1676735b@googlegroups.com> <87wqoqmd5p.fsf@VLAN-3434.student.uu.se> <87ehaykloy.fsf@VLAN-3434.student.uu.se> <8738rdly91.fsf@VLAN-3434.student.uu.se> <87sizd8u6y.fsf@VLAN-3434.student.uu.se> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1374054089 1735 80.91.229.3 (17 Jul 2013 09:41:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 17 Jul 2013 09:41:29 +0000 (UTC) Cc: Emacs Help List To: Emanuel Berg Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jul 17 11:41:31 2013 Return-path: Envelope-to: geh-help-gnu-emacs@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 1UzOEl-0001cY-6N for geh-help-gnu-emacs@m.gmane.org; Wed, 17 Jul 2013 11:41:31 +0200 Original-Received: from localhost ([::1]:38218 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzOEk-0000k3-Ip for geh-help-gnu-emacs@m.gmane.org; Wed, 17 Jul 2013 05:41:30 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54062) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzO5h-0003WX-V8 for help-gnu-emacs@gnu.org; Wed, 17 Jul 2013 05:32:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UzO5g-0004Ax-DH for help-gnu-emacs@gnu.org; Wed, 17 Jul 2013 05:32:09 -0400 Original-Received: from mail-ee0-x234.google.com ([2a00:1450:4013:c00::234]:43901) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UzO5g-0004Ak-81 for help-gnu-emacs@gnu.org; Wed, 17 Jul 2013 05:32:08 -0400 Original-Received: by mail-ee0-f52.google.com with SMTP id c50so909741eek.39 for ; Wed, 17 Jul 2013 02:32:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=YH0pAEogF8ha2KUXK7bqr+S7+OzuQJw1zxGs5kuBOvc=; b=IUWDSFq1/zWsy1D4nA+T4TVDiFgEZjh7pMAa5pu/mtNQSHLbM63nIg3ELaLmGA3WkT ICsymotyhKatI/G0xdimMVSnL0f3VFh0FCdJn4L8rFePZmaP3bbBTxSsXRQn7hVOOCwz mPPO3pYz6aYKmzxR0pDTTv13J07rOI8E8RM/K5S0e5EkXuPIF3VXr3tfmyk6NYAF2Dgr /Vc/li4tj9lW9ebHhjJpo9KZamvz3yNp4kmfDnH4x+nASW7Q8/KjPSFI8vb8u9bikK5V VJ4NbzVSkMtuFfMYUdlzzpav/Th1ACmUvMRxoDu7mgyDVZMXpiOzk7ZM3ZKXkATZ/ykd 91tQ== X-Received: by 10.15.36.133 with SMTP id i5mr5618372eev.52.1374053527502; Wed, 17 Jul 2013 02:32:07 -0700 (PDT) Original-Received: by 10.14.142.4 with HTTP; Wed, 17 Jul 2013 02:31:27 -0700 (PDT) In-Reply-To: <87sizd8u6y.fsf@VLAN-3434.student.uu.se> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c00::234 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 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-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:92200 Archived-At: On Wed, Jul 17, 2013 at 10:30 AM, Emanuel Berg wrote: > Yes, it is. Chess is straightforward but no one knows everything > about chess. (I don't play chess.) Chess *rules* are straightforward. Go rules even more. You can learn the rules in five minutes. They lead to non-trivial complexity. C++ "rules" are not straightforward. No one can learn its "rules" without many hours of careful reading of the standard, and even so, it's likely you'll have to go back and re-read many fragments. And then you'll have to experiment with different implementations to see whether they did interpret the standard in exactly the same way (usually that's not the case). Not to mention things that are explicitly left undefined or up to the implementor. That happens with all programming languages, of course. But not all programming languages are equally complex. I love Ada, and I think it is a much better language than C++ (no language flamewars, please, I'm just stating my opinion but I have no desire to defend it), but I wouldn't call Ada "straightforward". Looking at defect reports (of C++ or Ada) destroys that illusion quite fast. > C++ is C and OO. C is straightforward. OO is straightforward > unless you make it complicated with insane levels of inheritance, > overloading, etc. If you don't, and I think you shouldn't, OO is > straightforward. That's not an argument in favor of C++, which does make inheritance model complicated by insisting in having multiple inheritance of implementation (as opposed to interface). And you leave out the infamous C++ template system, so complex and bizarre that it is, by itself, a Turing-complete functional language. > That only C++ is understood by five people around the globe (you > didn't say this, I know) is lunacy. C++ was the big thing in the > 90's, and it is still huge. They rewrote fully functional C > programs in C++, just to be able to tell "it's C++, it's > OO". While that was silly, more than five people were *not* silly > at the same time, I *triple guarantee* all readers of this post. You're right, that's not what I'm saying. I'm saying that C++ is not straightforward, not that it cannot be used for real, successful projects. Of course it can. But the kind of bugs that appear in C++ programs (many of them related to exceptions, for example), demonstrate how easy is to fall victim of C++ pitfalls and complexity. J