Is C++ a boondoggle?

C

camper.happy

As everyone who's done professional programming
knows, there are many programmers who try to find ways
to expand the amount of time it takes to complete
a project and the amount of maintenance that is
required for a program or system. They do this out of
self-interest: They want oodles of money. While this is more
conspicuous in the public sector than elsewhere,
it is widely occurring in the private sector as well.

There are tell-tale signs that a boondoggle is
happening. Programmers create unnecessary program
structures. They opt for more complexity than is necessary.
They fail to document their software. They use code
obfuscation to make their code unreadable. They have
multiple meetings per day for trivial reasons.
They opt for slower or costlier generic solutions when
a quick specific fix is needed. They have continual
code reviews that become highly petty. While all this is
happening, management looks the other way.

Another tell-tale sign of a boondoggle, in my opinion,
is that C++ is chosen. This language adds layers
of complexity and has myriad tiny rules. "In this condition
in that context this detail solves the problem of XYZ
that occurs because of condition ABC and DEF."
And on and on. It offers the chance to engage in new forms
of documentation that appear clean and professional
but really just extend the project more and more.

Ten years ago, in C, there was a datum and a pointer to it.
Simple and sufficient for most purposes. In C++, there is an object,
a pointer, a reference, and in Visual C++ a new caret handle notation.
It goes on and on. Look at any aspect of C++
and you will find unnecessary complexity that required extended
explanation. In Java at least the complexity make sense.
In C++ everything has the appearance of a boondoggle. Everything
depends on context, on scope, on timing, on usage, and
on oh-so-clever semantic kludges inherent to C++, e.g.
member reference variables.

C++ started out offers the promise of a sane way of
doing things. What has resulted is Byzantine complexity
created by and for people whose only goal is to pay off
their mortgage at everyone else's expense.
 
A

Aaron Gray

As everyone who's done professional programming
knows, there are many programmers who try to find ways
to expand the amount of time it takes to complete
a project and the amount of maintenance that is
required for a program or system. They do this out of
self-interest: They want oodles of money. While this is more
conspicuous in the public sector than elsewhere,
it is widely occurring in the private sector as well.

There are tell-tale signs that a boondoggle is
happening. Programmers create unnecessary program
structures. They opt for more complexity than is necessary.
They fail to document their software. They use code
obfuscation to make their code unreadable. They have
multiple meetings per day for trivial reasons.
They opt for slower or costlier generic solutions when
a quick specific fix is needed. They have continual
code reviews that become highly petty. While all this is
happening, management looks the other way.

Another tell-tale sign of a boondoggle, in my opinion,
is that C++ is chosen. This language adds layers
of complexity and has myriad tiny rules. "In this condition
in that context this detail solves the problem of XYZ
that occurs because of condition ABC and DEF."
And on and on. It offers the chance to engage in new forms
of documentation that appear clean and professional
but really just extend the project more and more.

Ten years ago, in C, there was a datum and a pointer to it.
Simple and sufficient for most purposes. In C++, there is an object,
a pointer, a reference, and in Visual C++ a new caret handle notation.
It goes on and on. Look at any aspect of C++
and you will find unnecessary complexity that required extended
explanation. In Java at least the complexity make sense.
In C++ everything has the appearance of a boondoggle. Everything
depends on context, on scope, on timing, on usage, and
on oh-so-clever semantic kludges inherent to C++, e.g.
member reference variables.

C++ started out offers the promise of a sane way of
doing things. What has resulted is Byzantine complexity
created by and for people whose only goal is to pay off
their mortgage at everyone else's expense.

Please dont spam this group with OT cross posts. Use comp.lang.c++.misc if
you really must post such OT drivel.

Aaron
 
J

James Kanze

As everyone who's done professional programming knows, there
are many programmers who try to find ways to expand the amount
of time it takes to complete a project and the amount of
maintenance that is required for a program or system. They do
this out of self-interest: They want oodles of money. While
this is more conspicuous in the public sector than elsewhere,
it is widely occurring in the private sector as well.

Such programmers don't stay employed for very long. (I'm not
sure what you mean about "the public sector". I don't know of
any state run companies which actually write software. The
contract it out, and the companies they contract it to are often
better run than most.)

Management isn't always as dumb as you make out, and typically,
when it is, the companies go under.
 
J

James Kanze

I'm shocked! Shocked, I tell you!
(OTOH that sounds suspiciously similar to this bullet point:

* SAP is brought in to make everything more efficient and
everything becomes more difficult.)

I've never worked on a project where SAP was used, so I couldn't
say. (I wasn't even aware that it was a project managment
tool.) But the points in the list seem a mixed bag, and at
least partially blaming the tool because management didn't know
how to use it. (Clearcase is far and away the best source code
control system I've used---it's the only one I've used which has
been more or less transparent for the developer.)
If you do these practices, wasteful habits become very hard to
sustain, either by accident or willfully:

Yah, the silver bullet. If you have a reasonably good process,
these sort of habits won't occur. Regardless of the low level
details.

[...]
BTW if this was a troll attempt, try harder. Nobody here in
will disagree with your survey of
boondogglery!

But that's just because he hasn't presented any facts to
disagree with.
 
A

acehreli

As everyone who's done professional programming
knows, there are many programmers who try to find ways
to expand the amount of time it takes to complete
a project [...] Programmers create unnecessary program
structures. They opt for more complexity than is necessary. [...]

I am afraid that you are misinformed. I have never encountered or
heard of such programmers.

As a professional programmer for about 20 years, I would like to
assure you that there is nothing to be scared of being a professional
programmer. Just jump in...
Another tell-tale sign of a boondoggle, in my opinion,
is that C++ is chosen. This language adds layers
of complexity and has myriad tiny rules.

That's a very unfortunate misinformation. Who do you talk to for your
information? :) C++ actually reduces complexity in code. As an added
plus, it is an indispensible tool over C.

The unfortunate fact is that a programmer needs to have spent enough
time with C to appreciate C++ and have spent some time to not produce
complex code.
Ten years ago, in C, there was a datum and a pointer to it.
Simple and sufficient for most purposes.

Seemingly so for tutorial examples. Start a big project in C, and it
becomes a nightmare of repetitive tasks that a tool should have
handled already. Enter C++...
In C++, there is an object,
a pointer, a reference,

Yes! Thank you! Yes! :)
and in Visual C++ a new caret handle notation.

That is not in "Visual C++". Again, please find alternative sources of
information. Your are at the dangerously informed level.
It goes on and on. Look at any aspect of C++
and you will find unnecessary complexity that required extended
explanation.

Is is because they solve complex issues that arise in programs. Sorry,
there is no free lunch in this case.
In Java at least the complexity make sense.

I think this is the heart of your problem: Care to explain how
complexity makes sense in Java but not in C++?
In C++ everything has the appearance of a boondoggle.

Appearances may be deceiving. Do some actual work in C++ and you will
know.
Everything
depends on context, on scope, on timing, on usage, and
on oh-so-clever semantic kludges inherent to C++, e.g.
member reference variables.

Do you realize that everything that you have included in your post,
and especially the word "boondoggle" depends on all that you have
listed. What are you missing? ;)
C++ started out offers the promise of a sane way of
doing things. What has resulted is Byzantine complexity
created by and for people whose only goal is to pay off
their mortgage at everyone else's expense.

Mortgage? You need to think bigger than that buddy! ;)

Ali
 
L

Lew

James said:
But that's just because he hasn't presented any facts to
disagree with.

People in comp.lang.java.advocacy might prefer that off-topic posts disappear,
though.
 
P

Phlip

Lew said:
Phlip wrote:



People in comp.lang.java.advocacy might prefer that off-topic posts
disappear, though.

Yabsolutely. If there's a platform out there free of boondogglery, J2EE would
certainly be it!

(VBGDRC...)
 
L

Lew

James said:
Such programmers don't stay employed for very long. (I'm not
sure what you mean about "the public sector". I don't know of
any state run companies which [sic] actually write software. The
contract it out, and the companies they contract it to are often
better run than most.)

In the United States, "the public sector" refers to government agencies, and
metonymically to those companies who serve government contracts.

There are government employees, and certainly there are companies, who write
software for use by government agencies. That's the public sector.

As to whether government contractors are "often" "better run" than "most",
that's a statement that needs definitions of terms and empirical evidence.
Management isn't always as dumb as you make out, and typically,
when it is, the companies go under.

Interesting as this discussion of C++ is, it's off topic for
comp.lang.java.advocacy.
 
L

Lew

Yabsolutely. If there's a platform out there free of boondogglery, J2EE
would certainly be it!

People in comp.lang.java.advocacy might prefer that off-topic posts
disappear, though. The OP spoke of C++, right down to the subject line.

As to the on-topic part of your post, platforms are just platforms.
"Boondogglery" is a manifestation of process, not technology. Naturally I
advocate using technology, C++ or Java, in a manner free of "boondogglery".

BTW if this was a troll attempt, don't try harder. Nobody here in
comp.lang.java.advocacy will disagree with your apparent distaste for
"boondogglery".
 
O

Old Pif

As everyone who's done professional programming
knows, there are many programmers who try to find ways
to expand the amount of time it takes to complete
a project and the amount of maintenance that is
required for a program or system. They do this out of
self-interest: They want oodles of money. While this is more
conspicuous in the public sector than elsewhere,
it is widely occurring in the private sector as well.

There are tell-tale signs that a boondoggle is
happening. Programmers create unnecessary program
structures. They opt for more complexity than is necessary.
They fail to document their software. They use code
obfuscation to make their code unreadable. They have
multiple meetings per day for trivial reasons.
They opt for slower or costlier generic solutions when
a quick specific fix is needed. They have continual
code reviews that become highly petty. While all this is
happening, management looks the other way.

Very sharp observation. I think that the ground reason is that
programming has become a profession. Any professional community think
about self-preservation. The way out of it is to teach everybody to
program and let application specialists just program for their needs.
The best programs I have seen have been written by physicists for
themselves. Not only they run fast but the code is transparent and
does not need much of maintenance.

Don't let professional programmers to screw your business. Especially
those from India.
 
L

Lew

Old said:
Don't let professional programmers to screw your business. Especially
those from India.

This topic is not about Java. Especially the jingoistic nonsense is not. If
programmers from India can do a better job for less money than those from
somewhere else, then programmers from India should get the work.
 
W

woodbrian77

As everyone who's done professional programming
knows, there are many programmers who try to find ways
to expand the amount of time it takes to complete
a project and the amount of maintenance that is
required for a program or system. They do this out of
self-interest: They want oodles of money. While this is more
conspicuous in the public sector than elsewhere,
it is widely occurring in the private sector as well.

There are tell-tale signs that a boondoggle is
happening. Programmers create unnecessary program
structures. They opt for more complexity than is necessary.
They fail to document their software. They use code
obfuscation to make their code unreadable. They have
multiple meetings per day for trivial reasons.
They opt for slower or costlier generic solutions when
a quick specific fix is needed. They have continual
code reviews that become highly petty. While all this is
happening, management looks the other way.

Another tell-tale sign of a boondoggle, in my opinion,
is that C++ is chosen. This language adds layers
of complexity and has myriad tiny rules. "In this condition
in that context this detail solves the problem of XYZ
that occurs because of condition ABC and DEF."
And on and on. It offers the chance to engage in new forms
of documentation that appear clean and professional
but really just extend the project more and more.

I think C++ has a better foundation than Java and many
other languages and I believe C++ will outlive Java.
Sun recently had to be bought in order to survive.
Java has a few strengths though over C++.

Brian Wood
Ebenezer Enterprises
www.webEbenezer.net
 
C

camper.happy

In the United States, "the public sector" refers to government agencies, and
metonymically to those companies who serve government contracts.

There are government employees, and certainly there are companies, who write
software for use by government agencies.  That's the public sector.

And the public sector has recently ballooned to enormous size, which
is one
large factor bringing the USA to the brink of bankruptcy, although
trillions of dollars for bankers without any accountability also
helps:
Actually I should correct myself, the USA has technically been
bankrupt
for several years now:
http://www.financialsense.com/fsu/editorials/martenson/2006/1217.html
 
P

Phlip

And the public sector has recently ballooned to enormous size, which
is one
large factor bringing the USA to the brink of bankruptcy

That is idle spoonfed bullshit. The USA brought the world to bankruptcy because
we allowed lobbyists to buy custom loopholes, and called it "deregulation". Then
8 years of Bush putting foxes in charge of each hen-house did the rest.

Oh, BTW, "C++ sucks!" There, I'm on topic!
 
W

woodbrian77

And the public sector has recently ballooned to enormous size, which
is one
large factor bringing the USA to the brink of bankruptcy, although
trillions of dollars for bankers without any accountability also
helps:
Actually I should correct myself, the USA has technically been
bankrupt
for several years now:http://www.financialsense.com/fsu/editorials/martenson/2006/1217.html

The US went belly up under Franklin Roosevelt. It has mostly been a
shell game ever since. We did get decent leadership with Dwight
David Eisenhower, though.

Brian Wood
Ebenezer Enterprises
www.webEbenezer.net
 
J

James Kanze

People in comp.lang.java.advocacy might prefer that off-topic
posts disappear, though.

Yikes. He cross-posted as well. I hadn't noticed.

A true troll, in sum.
 
J

James Kanze

Phlip wrote:

[...]
People in comp.lang.java.advocacy might prefer that off-topic
posts disappear, though. The OP spoke of C++, right down to
the subject line.

He used the word C++. It doesn't seem, however, that he's
really talking about anything.
As to the on-topic part of your post, platforms are just
platforms. "Boondogglery" is a manifestation of process, not
technology. Naturally I advocate using technology, C++ or
Java, in a manner free of "boondogglery".
Exactly.

BTW if this was a troll attempt, don't try harder. Nobody
here in comp.lang.java.advocacy will disagree with your
apparent distaste for "boondogglery".

Boondogglery is a loaded word. Nobody, anywhere, will disagree
that it should be avoided.
 
J

James Kanze

James said:
Such programmers don't stay employed for very long. (I'm not
sure what you mean about "the public sector". I don't know of
any state run companies which [sic] actually write software. The
contract it out, and the companies they contract it to are often
better run than most.)
In the United States, "the public sector" refers to government
agencies, and metonymically to those companies who serve
government contracts.

You mean that you'd consider the subcontractors the public
sector as well, even though they're limited companies? And what
about companies like IBM, who subcontract to the government, but
also produce a lot of software for other private companies, etc.
There are government employees, and certainly there are
companies, who write software for use by government agencies.
That's the public sector.

I doubt that there are government employees who write software.
The government certainly has computers, and government employees
use them, but I rather suspect that all software development is
contracted out.
As to whether government contractors are "often" "better run"
than "most", that's a statement that needs definitions of
terms and empirical evidence.

At least in the United States, the government (or some branches
of the government) do impose accountability. The space shuttle
software is an example of a project that is run considerably
better than most, for example.
Interesting as this discussion of C++ is, it's off topic for
comp.lang.java.advocacy.

It's not really on topic in comp.lang.c++, either, since we're
talking about the development process.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,241
Members
46,831
Latest member
RusselWill

Latest Threads

Top