From: "Steven Burns" <royalstream@hotmail.com>
To: git@vger.kernel.org
Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.
Date: Wed, 19 Sep 2007 13:56:51 -0600 [thread overview]
Message-ID: <fcrutu$16f$1@sea.gmane.org> (raw)
In-Reply-To: alpine.LFD.0.999.0709070203200.5626@evo.linux-foundation.org
To me, the only thing that C++ has that all other mentioned languages lack
is the power you get from the templates and generic programming.
Sorting will always be faster if you can call the comparison function
directly without using a function pointer, and the only way you can create a
generic sorting algorithm is that way.
Thinking about it with a cold head, most things to hate about C++ are not in
the language but in its libraries.
The only feature I hate from the language itself is the preprocessor
(macros), which you get in C too.
And maybe I also hate the fact that C++ allows for unexperienced programmers
to create a bunch of classes and hierarchies that make sense to nobody but
them. Or even worse, unexperienced programmers start writing their own
frameworks, wrapping and re-wrapping, the same good old C function one
thousand times.
I guess that is why most C++ based projects out there have a strict list of
rules and conventions, you cannot have a stable project without them.
But, nothing prevents anybody from programming in C++ the way you describe,
using simple and clear core structures with some basic methods that
complement them (not obscure them) and make it easier to write the
algorithms.
Sadly, once you start using std::string, their overly complicated and fancy
iostreams, and bulky classes that hide too much from you, I have no other
choice than to agree and call the whole thing a mess.
Steven Burns
"Linus Torvalds" <torvalds@linux-foundation.org> wrote in message
news:alpine.LFD.0.999.0709070203200.5626@evo.linux-foundation.org...
>
>
> On Fri, 7 Sep 2007, Linus Torvalds wrote:
>>
>> The fact is, git is better than the other SCM's. And good taste (and C)
>> is
>> one of the reasons for that.
>
> To be very specific:
> - simple and clear core datastructures, with *very* lean and aggressive
> code to manage them that takes the whole approach of "simplicity over
> fancy" to the extreme.
> - a willingness to not abstract away the data structures and algorithms,
> because those are the *whole*point* of core git.
>
> And if you want a fancier language, C++ is absolutely the worst one to
> choose. If you want real high-level, pick one that has true high-level
> features like garbage collection or a good system integration, rather than
> something that lacks both the sparseness and straightforwardness of C,
> *and* doesn't even have the high-level bindings to important concepts.
>
> IOW, C++ is in that inconvenient spot where it doesn't help make things
> simple enough to be truly usable for prototyping or simple GUI
> programming, and yet isn't the lean system programming language that C is
> that actively encourags you to use simple and direct constructs.
>
> Linus
next prev parent reply other threads:[~2007-09-19 22:30 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-04 20:50 [RFC] Convert builin-mailinfo.c to use The Better String Library Lukas Sandström
2007-09-04 21:38 ` Alex Riesen
2007-09-04 23:01 ` Pierre Habouzit
2007-09-05 14:54 ` Kristian Høgsberg
2007-09-05 17:29 ` Matthieu Moy
2007-09-06 2:30 ` Miles Bader
2007-09-06 4:48 ` Dmitry Kakurin
2007-09-06 4:59 ` Shawn O. Pearce
2007-09-06 9:12 ` Andreas Ericsson
2007-09-06 9:35 ` Junio C Hamano
2007-09-06 10:21 ` Andreas Ericsson
2007-09-06 9:52 ` David Kastrup
2007-09-06 5:03 ` Miles Bader
2007-09-06 12:08 ` Johannes Schindelin
2007-09-06 17:50 ` Linus Torvalds
2007-09-07 0:21 ` Dmitry Kakurin
2007-09-07 0:38 ` Linus Torvalds
2007-09-07 1:08 ` Dmitry Kakurin
2007-09-07 1:27 ` Linus Torvalds
2007-09-07 3:09 ` Dmitry Kakurin
2007-09-07 5:48 ` David Symonds
2007-09-07 6:15 ` Theodore Tso
2007-09-20 14:06 ` Steven Burns
2007-09-20 14:56 ` Andreas Ericsson
2007-09-07 6:31 ` Andreas Ericsson
2007-09-07 22:17 ` Dmitry Kakurin
2007-09-07 22:28 ` David Kastrup
2007-09-08 0:37 ` Dmitry Kakurin
2007-09-08 6:25 ` David Kastrup
2007-09-09 0:29 ` Andreas Ericsson
2007-09-07 6:52 ` David Kastrup
2007-09-07 10:28 ` Johannes Schindelin
2007-09-07 10:26 ` Johannes Schindelin
2007-09-07 6:50 ` David Kastrup
2007-09-07 1:12 ` Linus Torvalds
2007-09-07 1:40 ` alan
2007-09-07 5:09 ` Walter Bright
2007-09-07 7:40 ` David Kastrup
2007-09-07 8:15 ` Walter Bright
2007-09-07 8:26 ` David Kastrup
2007-09-07 9:14 ` Walter Bright
2007-09-07 9:31 ` David Kastrup
2007-09-07 20:22 ` Walter Bright
2007-09-07 20:27 ` David Kastrup
2007-09-07 23:16 ` Walter Bright
2007-09-08 23:50 ` Andreas Ericsson
2007-09-09 0:37 ` Pierre Habouzit
2007-09-09 1:36 ` Andreas Ericsson
2007-09-07 11:36 ` Wincent Colaiuta
2007-09-07 9:41 ` Pierre Habouzit
2007-09-07 19:03 ` Walter Bright
2007-09-07 19:31 ` David Kastrup
2007-09-07 20:49 ` Walter Bright
2007-09-07 19:41 ` Pierre Habouzit
2007-09-07 19:51 ` David Kastrup
2007-09-07 19:59 ` Pierre Habouzit
2007-09-07 20:40 ` Walter Bright
2007-09-07 20:56 ` Pierre Habouzit
2007-09-07 22:54 ` Walter Bright
2007-09-08 0:56 ` John 'Z-Bo' Zabroski
2007-09-08 6:36 ` David Kastrup
2007-09-19 19:56 ` Steven Burns [this message]
2007-09-07 3:06 ` Wincent Colaiuta
2007-09-07 4:06 ` Paul Wankadia
2007-09-07 4:30 ` Nicolas Pitre
2007-09-07 9:19 ` Wincent Colaiuta
2007-09-07 6:25 ` Andreas Ericsson
2007-09-07 10:56 ` Johannes Schindelin
2007-09-07 11:54 ` Andreas Ericsson
2007-09-07 12:33 ` Wincent Colaiuta
2007-09-07 12:55 ` Karl Hasselström
2007-09-07 13:58 ` Andreas Ericsson
2007-09-07 14:13 ` Wincent Colaiuta
2007-09-09 0:09 ` Andreas Ericsson
2007-09-07 16:09 ` David Kastrup
2007-09-07 11:30 ` Wincent Colaiuta
2007-09-07 8:36 ` Walter Bright
2007-09-07 9:41 ` Andreas Ericsson
2007-09-07 19:23 ` Walter Bright
2007-09-07 19:40 ` David Kastrup
2007-09-09 0:25 ` Andreas Ericsson
2009-09-17 16:23 ` Bernd Jendrissek
2007-09-07 11:52 ` Wincent Colaiuta
2007-09-07 19:25 ` Walter Bright
2007-09-22 16:52 ` Steven Burns
2007-09-07 6:47 ` David Kastrup
2007-09-07 7:41 ` Andy Parkins
2007-09-07 8:08 ` David Kastrup
2007-09-07 10:21 ` Johannes Schindelin
2007-09-08 0:32 ` Dmitry Kakurin
2007-09-08 6:24 ` David Kastrup
2007-09-08 23:25 ` Alex Riesen
2007-09-24 13:41 ` figo
2007-09-24 13:57 ` David Kastrup
2007-09-25 19:19 ` Steven Burns
2007-09-25 19:55 ` David Kastrup
2012-05-22 18:30 ` Syed M Raihan
2010-06-10 19:12 ` Ian Molton
2010-06-11 12:23 ` Jakub Narebski
2010-06-11 13:33 ` Dario Rodriguez
2007-09-05 15:27 ` Kristian Høgsberg
2007-09-07 10:47 ` Lukas Sandström
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='fcrutu$16f$1@sea.gmane.org' \
--to=royalstream@hotmail.com \
--cc=git@vger.kernel.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 public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).