religious programming

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Tue Oct 11 02:57:37 PDT 2011


I can't keep it in any more, I have to share.

I've seen lots of corporate C++ code and coding guidelines and I came
to the conclusion, that they're all bogus.
The vast majority of code, being written in commercial projects use a
very limited subset of the language they use.
The code I work with currently is a purely object-oriented C++ code.
I used to like object-oriented programming until I started working
with that code.
Corporate code is very religious. They use a few specialized
techniques for everything.
They use object-oriented programming when functional programming is
the technique of choice.
They use object-oriented programming when generic programming is the
technique of choice.
The code is unimaginably bloated, flooded with thousands of tiny
redundant classes, each of which do a primitive task, which doesn't
need to be a class at all.
I've discussed D with my colleagues lately and the vast multi-paradigm
and built-in featured of D were discarded with a religious "There's a
class already written for that.".
Why do I keep saying "religious"? Because they are convinced, that
this is the way to go and do not accept any logical arguments.
Why do I talk about this at all? Because corporate code is the one we
need to become D.
But this is not gonna happen with such religious attitude to programming.
They say built-in arrays are useless, because there's always
std::vector and std::list.
They say, functional programming and lambdas are useless, because you
can make functors and base classes for them.
They say garbage collection is useless, because there's always std::shared_ptr.
Well, yes. You do have all that. But look what the code looks like and
how fast it runs!

It's amazing how stupid and ignorant can corporate developers be
sometimes and how smart and considerate open-source developers can be.
I don't know how to cure the people's minds from this religious
plague, that poisons the software development industry.

Can anyone help me out in this quest of enlightening people?


More information about the Digitalmars-d mailing list