all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juanma Barranquero <lekktu@gmail.com>
To: Emanuel Berg <embe8573@student.uu.se>
Cc: Emacs Help List <help-gnu-emacs@gnu.org>
Subject: Re: Speeding up Emacs load time
Date: Wed, 17 Jul 2013 11:31:27 +0200	[thread overview]
Message-ID: <CAAeL0SQuiBZaiKx230-y83cTyaFNmpLB_fvXnSLRpWJsueqwKg@mail.gmail.com> (raw)
In-Reply-To: <87sizd8u6y.fsf@VLAN-3434.student.uu.se>

On Wed, Jul 17, 2013 at 10:30 AM, Emanuel Berg <embe8573@student.uu.se> 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



  reply	other threads:[~2013-07-17  9:31 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAHXt_SU8+n5JaupmrnDaSirc+yzBRGQAmOWgRpb=uEkaGAR9Sg@mail.gmail.com>
     [not found] ` <CAHXt_SUL6a0q0q5nbJ3aw301C2--85e_Q3vVvPA7yxMvPbJ5mQ@mail.gmail.com>
2013-06-25 23:06   ` Speeding up Emacs load time Andrew Pennebaker
2013-06-26  2:02     ` Hongxu Chen
2013-06-26  7:30       ` Didier Verna
2013-06-26 17:04     ` J. David Boyd
2013-06-26 17:15       ` Mihamina Rakotomandimby
2013-07-15  1:02       ` Ken Goldman
2013-07-15  1:33         ` Andrew Pennebaker
2013-07-15  6:20           ` Glyn Millington
2013-07-15  8:15             ` Rasmus
2013-07-15  8:05           ` Peter Dyballa
     [not found]           ` <mailman.1066.1373869854.12400.help-gnu-emacs@gnu.org>
2013-07-24 20:50             ` Sebastien Vauban
2013-07-24 21:22               ` J. David Boyd
     [not found]               ` <mailman.1720.1374700982.12400.help-gnu-emacs@gnu.org>
2013-07-25  7:25                 ` Sebastien Vauban
2013-07-25 14:20               ` J. David Boyd
     [not found]               ` <mailman.1762.1374762058.12400.help-gnu-emacs@gnu.org>
2013-07-25 19:24                 ` Sebastien Vauban
     [not found]         ` <mailman.1061.1373851999.12400.help-gnu-emacs@gnu.org>
2013-07-15 14:06           ` Emanuel Berg
2013-07-15 14:45             ` Peter Dyballa
2013-07-15 15:46             ` Eli Zaretskii
2013-07-15 16:08               ` J. David Boyd
     [not found]             ` <mailman.1105.1373903184.12400.help-gnu-emacs@gnu.org>
2013-07-15 17:00               ` Emanuel Berg
2013-07-15 18:29                 ` Eli Zaretskii
     [not found]                 ` <mailman.1117.1373913021.12400.help-gnu-emacs@gnu.org>
2013-07-15 19:49                   ` Emanuel Berg
2013-07-16  2:38                     ` Eli Zaretskii
2013-07-20 22:08                       ` Ken Goldman
     [not found]                     ` <mailman.1142.1373942379.12400.help-gnu-emacs@gnu.org>
2013-07-16  4:13                       ` Rustom Mody
2013-07-16  9:42                         ` Emanuel Berg
2013-07-16 13:37                           ` Rustom Mody
2013-07-16 13:39                           ` Rustom Mody
2013-07-16 20:13                             ` Emanuel Berg
2013-07-16 21:02                             ` Emanuel Berg
2013-07-17  0:54                               ` Juanma Barranquero
     [not found]                               ` <mailman.1203.1374024479.12400.help-gnu-emacs@gnu.org>
2013-07-17  1:41                                 ` Emanuel Berg
2013-07-17  2:05                                   ` Juanma Barranquero
     [not found]                                   ` <mailman.1205.1374026774.12400.help-gnu-emacs@gnu.org>
2013-07-17  2:24                                     ` Emanuel Berg
2013-07-17  2:42                                       ` Juanma Barranquero
     [not found]                                       ` <mailman.1206.1374028983.12400.help-gnu-emacs@gnu.org>
2013-07-17  8:30                                         ` Emanuel Berg
2013-07-17  9:31                                           ` Juanma Barranquero [this message]
     [not found]                                           ` <mailman.1232.1374053532.12400.help-gnu-emacs@gnu.org>
2013-07-19 10:18                                             ` Emanuel Berg
2013-07-19 14:51                                               ` Juanma Barranquero
     [not found]                                               ` <mailman.1394.1374245509.12400.help-gnu-emacs@gnu.org>
2013-07-19 16:02                                                 ` Emanuel Berg
2013-07-20  0:03                                                   ` Juanma Barranquero
     [not found]                                                   ` <mailman.1439.1374278629.12400.help-gnu-emacs@gnu.org>
2013-07-20  4:27                                                     ` Emanuel Berg
2013-07-20  4:35                                                       ` Jambunathan K
2013-08-28 23:08                                                     ` Emanuel Berg
2013-07-16 17:54                         ` Eli Zaretskii
2013-07-16 10:07                       ` Emanuel Berg
2013-07-16 17:57                         ` Eli Zaretskii
     [not found]                         ` <mailman.1176.1373997462.12400.help-gnu-emacs@gnu.org>
2013-07-16 19:58                           ` Emanuel Berg
2013-07-16 20:38                             ` Peter Dyballa
     [not found]                             ` <mailman.1187.1374007454.12400.help-gnu-emacs@gnu.org>
2013-07-16 21:11                               ` Emanuel Berg
2013-07-17  8:36                                 ` Thien-Thi Nguyen
2013-07-16 21:25                             ` Dmitry Gutov
2013-07-17  0:57                               ` Juanma Barranquero
     [not found]                             ` <mailman.1191.1374009934.12400.help-gnu-emacs@gnu.org>
2013-07-16 21:37                               ` Dan Espen
2013-07-16 22:05                                 ` Dmitry Gutov
     [not found]                                 ` <mailman.1194.1374012333.12400.help-gnu-emacs@gnu.org>
2013-07-17  1:02                                   ` Dan Espen
2013-07-17  4:29                                     ` Dmitry Gutov
     [not found]                                     ` <mailman.1213.1374035360.12400.help-gnu-emacs@gnu.org>
2013-07-17  6:04                                       ` Emanuel Berg
2013-07-17 12:24                                         ` Eye strain and ergonomics Dmitry Gutov
2013-07-18 20:01                                           ` James Freer
     [not found]                                         ` <mailman.1251.1374063906.12400.help-gnu-emacs@gnu.org>
2013-07-19 10:30                                           ` Emanuel Berg
2013-07-17 12:36                                       ` Speeding up Emacs load time Dan Espen
2013-07-16 21:40                               ` Emanuel Berg
2013-07-16 22:21                                 ` Dmitry Gutov
     [not found]                                 ` <mailman.1196.1374013270.12400.help-gnu-emacs@gnu.org>
2013-07-16 22:55                                   ` Emanuel Berg
2013-07-16 23:48                                     ` Highway Musophobia Revisited [was: Speeding up Emacs load time] Drew Adams
2013-07-17  2:54                                       ` Jambunathan K
2013-07-19 16:21                                       ` Óscar Fuentes
2013-07-19 17:24                                         ` Drew Adams
     [not found]                                         ` <mailman.1428.1374254670.12400.help-gnu-emacs@gnu.org>
2013-07-20  4:20                                           ` Emanuel Berg
     [not found]                                       ` <mailman.1420.1374250899.12400.help-gnu-emacs@gnu.org>
2013-07-20  4:23                                         ` Emanuel Berg
     [not found]                                     ` <mailman.1200.1374018533.12400.help-gnu-emacs@gnu.org>
2013-07-17  0:04                                       ` Highway Musophobia Revisited Emanuel Berg
2013-07-17  3:09                                         ` Drew Adams
     [not found]                                         ` <mailman.1210.1374030559.12400.help-gnu-emacs@gnu.org>
2013-07-17  6:14                                           ` Emanuel Berg
2013-07-17 10:42                                             ` Jambunathan K
2013-07-17 10:42                                             ` Jambunathan K
2013-07-17 16:20                                             ` Drew Adams
2013-07-17 12:27                                       ` Highway Musophobia Revisited [was: Speeding up Emacs load time] Rustom Mody
2013-07-19 10:35                                         ` Emanuel Berg
2013-07-16  5:12                 ` Speeding up Emacs load time Jambunathan K
     [not found]                 ` <mailman.1144.1373951470.12400.help-gnu-emacs@gnu.org>
2013-07-16  9:51                   ` Emanuel Berg
2013-07-16 12:26                     ` Jambunathan K
     [not found]                     ` <mailman.1156.1373977528.12400.help-gnu-emacs@gnu.org>
2013-07-16 20:15                       ` Emanuel Berg
2013-06-28  3:20     ` Bob Proulx
2013-06-28  5:27       ` Hongxu Chen
2013-06-28 19:53         ` Bob Proulx
2013-06-28 12:48       ` J. David Boyd
2013-06-28 14:00         ` J. David Boyd
     [not found]         ` <mailman.2694.1372428065.22516.help-gnu-emacs@gnu.org>
2013-06-28 14:16           ` Dan Espen
2013-06-28 19:06             ` Bob Proulx
     [not found]     ` <mailman.2650.1372389614.22516.help-gnu-emacs@gnu.org>
2013-06-28 20:27       ` Emanuel Berg
2013-06-29  5:04         ` Eric Abrahamsen
     [not found]         ` <mailman.2770.1372482246.22516.help-gnu-emacs@gnu.org>
2013-06-29 17:44           ` Rustom Mody
2013-06-30  0:45             ` Eric Abrahamsen
2013-06-30 12:46             ` Emanuel Berg
2013-06-30 14:04               ` Rustom Mody
2013-06-30 18:06                 ` Emanuel Berg
2013-06-30 15:00               ` Eric Abrahamsen
     [not found]               ` <mailman.2850.1372604415.22516.help-gnu-emacs@gnu.org>
2013-06-30 16:07                 ` Rustom Mody
2013-06-30 18:17                   ` Emanuel Berg
2013-06-30 18:14                 ` Emanuel Berg
2013-07-01  5:29                   ` Eric Abrahamsen
2013-06-29 17:51         ` Bob Proulx
     [not found]         ` <mailman.2800.1372528321.22516.help-gnu-emacs@gnu.org>
2013-06-30 12:36           ` Emanuel Berg
     [not found]   ` <mailman.2429.1372201595.22516.help-gnu-emacs@gnu.org>
2013-06-26  1:16     ` Dan Espen
2013-06-27 16:14     ` Emanuel Berg
2013-06-27 17:50       ` J. David Boyd
2013-07-21  3:59     ` Rustom Mody
2013-07-21 14:18       ` Emanuel Berg
2013-07-21 14:41         ` Rustom Mody

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAeL0SQuiBZaiKx230-y83cTyaFNmpLB_fvXnSLRpWJsueqwKg@mail.gmail.com \
    --to=lekktu@gmail.com \
    --cc=embe8573@student.uu.se \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.