Falling Into The Pit of Success

Great post Jeff. This certainly makes up for the post on the registry.

There are perils with any language which allow one to fall into the pit of dispair. A deeper understanding of the language is required for C++ as opposed C#, VB, Java etc. which makes C++ more prone to errors. Most projects that I have worked on with C++ code had general stability and memory issues. One code base we inherited required the web servers to be rebooted every day! because memory wasn’t being reclaimed from the C++ libraries. We were eventually able to fix these issues from the inherited code base, but it wasted a lot of cycles that could have been used elsewhere.

Pits or dispair can also be found with VB and .Net code bases as well, I think the point is, C++ has more pitfalls than VB or .Net.

To be honest, I don’t like going through stack dumps using WINDBG or using UMDH to find memory issues. I don’t like looking at a hex dump. These were common activities with C++ projects.

With .Net, I don’t have to do these activities on a daily basis which suits me fine, but maybe some people like writing code to clean up after themselves and doing the more lower level stuff explicitly.

Newer frameworks like .net make doing the mundane tasks mush easier, so it’s a clear choice tht .Net wins out for productivity in most business applications. Other applications, not so. Certainly, I wouldn’t want a missile guidance system written in .Net, I would want ot get as close to the hardware as I could because speed is of the essence.

Certainly, I don’t think C++ is dead because it is designed to be a generalist lanaguage, so it’s usefulness will be gauranteed for years to come. That’s the power of it. Some languages like ASP are specialized, so they will be replaced by the next thing that is doing the same specialization. When learning something new, take this into account, whether what you are learning will be replaced in 2 years. Every programmer should have some knowledge on C and C++, even if your a “VB” or “.Net” programmer.

Great post. I definitely agree with this despite the fact that I am a php programmer.

1 Like

It depends. I agree only if you have options to select between alternatives on the platform you are coding.

C,C++ is a better choice for embedded systems, and a good price-performance ratio if compared with assembly and other languages. I think it is madness to design modern web app with these languages. I did tried Micropython for embedded system programming, it was appealing, but at the end of the day, the winner is again C in memory stricted devices. C/C++ is also the best option to deliver your cross-platform libraries(dll or .so) even if consumed by different native apps written in different languages. We dont have a chance to start a new world here. I think humanbeing does his/her best finding better ways day by day. C++ will still be a sitting reality.

2 Likes