On Apr 19, 2012, at 8:42 PM, Andrei Alexandrescu <[email protected]> wrote:
> On 4/19/12 3:05 PM, H. S. Teoh wrote: >> Yeah, I've been working with C++ for almost 2 decades, and I really >> can't say I'd recommend it for new projects. At my day job, for example, >> we actually migrated from C++ back to plain old C, due to an incredibly >> over-engineered C++ codebase that was slow, bloated, and unmaintainable. >> It sounds laughable to the casual observer, but I have to say that there >> was actually a lot gained by this migration. We are much more productive >> with the new C-based system than C++. There are just too many ways to >> write bad code in C++. C makes everything simple and clear, if a bit >> tedious at times (due to basically partially reimplementing a class >> system in C). > > This is interesting. We use C++ at Facebook all over the place, and > gainfully. If we were to use C, we'd have major difficulties with e.g. > containers. The thought of using a hashtable in C... ouch. I wonder how much of the productivity gain is just from it being a new codebase. There have been studies that demonstrate that, in general, C++ decreases the cost of maintenance. As for hash tables in C... You're just stuck with casting the value. I implemented a C version of unordered_map for work and it's plenty easy to use. Iteration is done using a foreach routine with a callback.
