Found this in rationale saying why GCC should be written in C++
- GCC generates temporary garbage which is only freedby ggc collect.
-- ggc collect is expensive–scales by total memory usage.
- C++ permits reference counting smart pointers.
-- Fast allocation.
-- Lower total memory usage.
-- Copying a pointer adds an increment instruction.
-- Letting a pointer go out of scope adds a decrement and a test.
-- Reference counts are normally in memory cache, unlike ggc collect.
- We may want to use a mixture of reference counting and garbage collection.
So there you have it. GC is shit. C forces GC, C++ does not. Therefore C is also shit while C++ is not.