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