[Qt-interest] The C++ language committee

Gregory Seidman gsslist+qt at anthropohedron.net
Fri Apr 16 16:03:44 CEST 2010


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."

All I want as a member of the C++ community is for people to recognize
what C++ does well and what that implies about when to use it. I don't want
people using it for purposes for which it is ill-suited, and I don't want
it to become a language less suited for the purposes for which it is
currently well-suited.

> > The power and value unique to C++ is in the templating
> > language, and boost does a great job of offering that power in digestible
> > chunks. It behooves developers new to C++ to actually learn the language,
> > not just grasp the bits and pieces they understand from other languages
> > they know and start spewing code. C++ is an immensely complicated language,
> > and if you aren't getting an advantage out of that complexity (e.g. using
> > boost/STL/etc. templates and even writing your own templates) then you are
> > using the wrong language. 
> 
> 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.

> > I program professionally, but I'm also a hobbyist. I've been paid to
> > program in at least 10 languages (C, C++, ObjC, Java, VB.NET, C#, PL/SQL,
> > Ruby, JavaScript, even some assembly), but I know perhaps 20 more. That
> > gives me an edge at my job, and proficiency in my hobby. Strive for more
> > than just comfort and familiarity.
> 
> Knowing many different languages is obviously an advantage, I don't
> understand how making each language as different and difficult to learn
> as possible helps in this manner.

A worthwhile language should be "difficult to learn" only in that it
requires thinking in ways you don't already. If it doesn't make you think
differently, learning it better have some other really important benefit
(like a 20% raise). Someone who learns C, LISP, Prolog, and Smalltalk will
have a difficult time learning each one because they are so different. As a
result, however, he/she will be better at writing good software in C++,
Java, Ruby, JavaScript, etc. thanks to his/her experience with a broad base
of idioms, constructs, and approaches. That experience keeps him/her from
reinventing wheels. (Note that Design Patterns is an attempt at a partial
substitute for this kind of experience.)

> Regards,
> Eirik
--Greg




More information about the Qt-interest-old mailing list