[Qt-interest] The C++ language committee

Gregory Seidman gsslist+qt at anthropohedron.net
Fri Apr 16 17:14:11 CEST 2010


On Fri, Apr 16, 2010 at 04:20:30PM +0200, Eirik Ulvik wrote:
> 
> 
> Den 16.04.2010 16:03, skrev Gregory Seidman:
> > On Fri, Apr 16, 2010 at 03:09:40PM +0200, Eirik Ulvik wrote:
> > [...]
> >> Secondly, a language should alway strive to get more people using it.
> > [...]
> > 
> > There are advantages to having a large community around a language, but in
> > this day and age of easy electronic communication (and free compilers),
> > that large community can be a widely dispersed, tiny fraction of the
> > developer community as a whole. That's even more true for C++, since it
> > also benefits from the C community. I don't agree with your premise that a
> > language (or, rather, the community using the language, since the language
> > itself is inanimate) "should always strive to get more people using it."
> 
> So this community of yours, who does it consist of? People using the
> language of course, thus you need recruitment to the community.
> Geographical dispersement has nothing to do with it. To reqruit people
> the language should be easy to learn and attract people to it, IMO. The
> fact that many people use a language is attractive for new developers.

You seem to be arguing circularly here. You need recruitment because more
people using the language makes it more attractive to new developers, which
makes recruitment easier? Why is recruitment important?

A community already exists. There was a time when evangelism and
recruitment was important, because otherwise the community would never
reach critical mass. Now that it has reached critical mass, I don't
understand why recruitment is a priority at all. The whole point of
reaching critical mass is that the community is self-sustaining. Changing
the language to make it easier to learn might reduce the critical mass
threshold, but why should that be a priority when we're already over the
threshold?

> >> There are also many other reasons for using c++ besides templates, eg.
> >> compute intensive software.
> > 
> > That's a reason for using C. C++ provides no advantage over C for
> > computationally intensive software.
> 
> Most games today are written i C++, not C. Why? Because there are clear
> advantages using C++, obviously. It gives you a possibility to use OOD
> in compute intensive software. Compute intensive software does obviously
> do more than just for-loops.

I could argue that at this moment in time most games are written for the
iPhone/iPad/iPod Touch and are therefore written in ObjC, but that's only
tangent to what you're saying, I don't feel like digging up numbers to
cite, and at least some of those games have a C++ engine at their hearts.

Instead, let me clarify what I said. When I say "C++ provides no advantage
over C for computationally intensive software," I mean that when evaluating
languages on the single criterion of efficient execution you have C and C++
in a dead heat, with hand-coded assembly slightly ahead of both. The reason
games are more likely to be written in C++ than C is not that compiled C++
executes any more efficiently than C, but that there is at least one
additional criterion: ease of development and maintenance. There may be
other considerations, such as available libraries, reusing existing code,
current developers' expertise, etc., as well.

I maintain, however, that it is a waste to use C++ without understanding
and using its templating features. Even in game programming the STL
collections are clearly useful, and more esoteric uses for templating makes
statically enforcing certain kinds of code correctness possible.

--Greg




More information about the Qt-interest-old mailing list