Language Wars Contd.

Bjarne
Stroustrup:
"The purpose of a programming language is to help build good systems,
where "good" can be defined in many ways. My brief definition is,
correct, maintainable, and adequately fast."

Let's see...

We will skip the "adequately fast" part since I have no idea what
adequate would be for Mr. Stroustrup and besides fast/slow is determined
by language compiler/interpreter implementation not by language syntax.
We will assume Bjarne is just trying to off-handedly dismiss scripting
and VM languages,

Moving on...

What does "correct" mean? In line with all those patterns and
"best-practices" they try to teach you in all the "right" books? And, of
course, maintainable goes hand-in-hand with that, too?

Well, I will have to disagree here. First of all, contrary to the
popular misconception it is not "maintenance" that modern businesses
care about. Thirty years ago, maybe, they wanted systems that last
forever in the original version but not anymore. We live in a fast-phase
business environment where demand changes all the time and so should the
software that supports it.

It is not "maintenance" that you should care about but ease of
future modifications! And these two are by far not the same thing.

People who think the "maintenance" way usually spend a lot of time
finding "ideal" architecture that, in their minds, will serve all future
needs (alas, the exact same ones they have no idea about right now) and
end up with half-baked, useless monster, way late than originally
planned .

People who think "ease of modifications" way employ agile methodology,
write unit-tests and continuously refactor the code. Big difference.

In conclusion- in my personal opinion, "good" code is way more about the
personality of the developer than underlying programming language or
technology. Some people are tidy, some people are mess. Period. <

Have a nice weekend!

P.S. I give all the respect to Mr. Stroustrup for his success but other
than that, let\'s just say - he is not my hero and C++ is not my
favorite language :)

Irakli Nadareishvili's Blog

"The only things you need to be a great programmer are: curiosity, empathy and attention to detail. Everything else you can learn over time. Everything." ~ @inadarei