Monday, June 26, 2006

C++ is Dying

C++ is dying.

It is complex, tricky, and unforgiving. It lacks rich standard libraries. It is slow for development. It is spoiled by M$ with COM and MFC. It is pushed away from many application domains by Java and C#.

But none of this is the reason for C++ to die. We C++ programmers learned to tackle this, we were never scared away by the difficulties and learned to love the challenges of the C++.

C++ is languishing because C++ programmers lack refactoring support.

With little refactoring tools, people do little refactoring. The code degrades, and as C++ code is not easy to write, it often putrefies faster then grows. Like a beast with low immunity to code bacterias, allergic to anti-biotics, it smells, stinks, decays and eventually dies before it grows to full size.

After first release a corpse of C++ application is left to decompose. Working effectively with a dead body of legacy C++ code is frustrating, and every look to a newest Eclipse, ReSharper or VS.NET for C#, leaves bitter jealousy.

C++ as a language is going to hold the ground in some domains.
But C++ applications without refactoring will smell, then stink, then rot, decay and spoil any programmer who comes in contact with them. C++ developers face a tough choice: stay with crappy legacy or take off from C++. Those who are fascinated with new ideas of evolutionary design, merciless refactoring and aesthetics of clean code are tempted to leave for platforms where code quality is more appreciated. Those who don't care about clean code, stay to patch and band their C++ legacy applications, compromising C++ reputation even further.
This vicious cycle is killing C++.

C++ is dying, and it has nothing much to do with technology. Like everything in software, it is about the people. C++ is loosing good programmers. When good programmers are gone, C++ is dead.

AddThis Social Bookmark Button

1 Comments:

At 2/22/2008 11:48:00 AM , Anonymous Krishna said...

Although I am reading your post long after you wrote it, I could not agree more.
Lack of refactoring puts C++ developers and consequently C++ language itself in a very tight spot.

 

Post a Comment

<< Home