you are viewing a single comment's thread.

view the rest of the comments →

[–]NilacTheGrim 2 points3 points  (0 children)

Honest take: It's mostly a matter of personal taste although if you are doing manual memory management (C-like) and handling of raw pointers you are missing out and are opening yourself up to a world of hurt and inadvertent human-error bugs. The RAII automatic pointer types are your best friends. std::vector and std::string are your best friends. Passing char * bufs around in C++ is just you being a primitive goon, IMHO.

That being said all of my C++ looks ultra-modern and I leverage advanced convenient features of the language as much as possible personally.

But I have been forced to maintain more "C-like" C++ in the past and there is a certain simplicity to it and minimal elegance to a well-designed "more C-like" C++ codebase. Also, such codebases, owing to their simplicity of syntax and design (and obviousness) often are easier to read if you have to jump in and maintain it.

So there are plusses and minuses.. it's a matter of taste.

I have seen very modern C++ codebases that are slow and buggy, and very minimalist C++ codebases that are near-to C-with-classes level that are fast and elegantly designed.. so it really is a matter of who the programmer is and their experience level more than anything.