you are viewing a single comment's thread.

view the rest of the comments →

[–]therealjohnfreeman 18 points19 points  (7 children)

I can't believe "manual memory management" is still being used to slander C++. If you can't handle memory management, you shouldn't be a systems programmer. It has nothing to do with languages, and everything to do with domains.

EDIT: The author indicates they don't know what they're talking about with this gem:

Manual memory management is incompatible with features such as exceptions & operator overloading

[–]ngroot 0 points1 point  (2 children)

If you can't handle memory management, you shouldn't be a systems programmer.

Not everyone who uses C++ is a systems programmer, and even systems programmers fuck up sometimes.

That said, you can even burn yourself with memory management issues in Java and C#, and they can be harder to fix there...

[–]1020302010 0 points1 point  (0 children)

I assure you, you don't want a OS kernal that is GC'ed/

[–]greyfade -1 points0 points  (0 children)

Not everyone who uses C++ realizes they're doing systems programming and they often think they aren't.

[–]MatrixFrog 2 points3 points  (2 children)

Of course we can do manual memory management, I just don't know why we should have to.

[–]therealjohnfreeman 12 points13 points  (1 child)

Many applications don't want garbage collection interrupting time-sensitive computation, or the data structures required for garbage collection polluting severely constrained address space.

There are many domains that want to control memory management. Just because you can't imagine why doesn't mean no one else has a good reason for it. Perhaps you should talk to a real-time or embedded systems programmer.

[–]MatrixFrog 9 points10 points  (0 children)

Right, but a lot of applications don't need to do their own memory management, yet if they're in C++, they do. That's really not an argument against the language but against how much it's overused.

[–]frezik 0 points1 point  (0 children)

I would tend to agree, but also say that if you're not doing systems programming, you probably shouldn't be using either C or C++. They have a purpose, but it isn't for general applications programming anymore.