Re: writing drivers using C++

"Nikolaos D. Bougalis" <nikb@xxxxxxxxxxxxx> writes:
Rainer Weikusat wrote:
"Nikolaos D. Bougalis" <nikb@xxxxxxxxxxxxx> writes:
Michel Talon wrote:
This type of argument is perfectly representative of completely
autistic people. As soon as you collaborate in a team, you have to
choose tools that each member of the team can use successfully, and
not baroque tools that only afficionados can master. If you are
using C++ in a project and in particular "high falutin" features of
C++, you are shoving down the throat of each and any people in the
project the obligation to learn those features, wether they want it
or not.

The people that I work with are all C++ experts; they would
not have been hired otherwise.
This doesn't address Michael's claim at all, because he was very
clearly talking about the situation when a _new_ person becomes part
of an _existing_ team which is not comprised of people that were
specifically hired because 'being a C++ expert' was an important
consideration (and BTW, the language isn't that complicated).

What was suggested, and the point that I was trying to rebuff,
is that we should write code for the lowest common denominator,
because to do anything else would be to "shove down the throat of
everyone the obligation to learn these [advanced] features."

You cannot possibly 'rebuff the point that code should be written to
the lowest common denominator' by stating that 'the lowest common
denominator' in 'your team' is actually you (among others, if all are
equally qualified).

As for the new person coming onto a team: when someone decides
to study to become a heart surgeon, he doesn't complain that
performing heart surgery is hard

The case you present is the exact opposite of the case presented: I
was writing about someone being a 'C++ expert' joining a team of
people who are not. You appear to be writing about someone not being
'a C++-expert' joining a team of 'C++-experts'.


I would probably use C++ in any new project that I undertook,
commercial or open-source, because I find the language to be powerful
and I am comfortable with it.
In other words: You happen to know C++ and therefore, you would
perferably use it for everything. Selecting a programming language
without consideration for the task to be accomplished is at best a
dubious practice. Especially, taking into acocunt that an abundance
of more powerful languages exist (here refering to all the
bytecode-based languages), which are suitable for an ever-growing
range of tasks due to increased processing power of 'commonly used

I never suggested that I would _indiscriminately_ choose
C++. I said I would _probably_ use it, and I gave my reasons why -- it
is a powerful language that I know very well.

And I responded to this that 'properties of you' should be a secondary
criterium when picking a programming language, because 'properties of
the task' would be more important.


From each report i have seen the number of projects in the industry
that have utterly failed because some geek had the wonderful idea
to introduce C++ in the game is enormous.
I'm sceptical, especially since you provide no references. But
even if is true, then this tells us very little about C++ itself and
its role in the demise of the project. After all, most software
projects are unsuccessful.
This kind-of misses the point. The claim was that a extraorinary
number of C++-using projects were unsuccessful (which may or may not
be true). Your statement that 'most software projects are
unsuccessful' would, for instance, still be true if projects using C++
always failed and using C++ was attempted for most projects.

I don't think this misses the point at all. It is a fact that
most software projects, _regardless of the language used_, fail.

As I have written: This does not matter and you are missing the point
or avoid to address it. The interesting question would be 'what is the
percentage of failed C++ projects, compared to the percentage of
failed projects using different languages'.

NB: I do not claim anything that it would be anything in


It is for good reasons that the Linux kernel developers have
banished C++ from their kernel.
Maybe so, but the reasons provided in this thread are clearly
This is 'clearly' a matter of opinion and different people come to
different conclusions in this regard, eg if the 'hidden subroutine
calls' are an advantage or a disadavantage.

Of course different people come to different conclusions,
especially if some start off with flawed premises, like that whole
"constructors are hidden subroutine calls" bit.

Taking this 'interesting' statement into account, I hereby formulate a
hypothesis which may throw an indirect light onto 'The C++ programing
language': It strongly appeals to logic-impaired people with an
intuitive or explictly acquired understanding of propagande tactics
they freely use to further their respective causes (like faking proofs
by redefining terms in a suitable way).