[–] Drenki 0 points 3 points (+3|-0) ago 

Most languages are at this point. But C++ has so many features, if you don't know what to do with them, it's very easy to make a mess of things.

[–] libman 2 points 3 points (+5|-2) ago  (edited ago)

I don't agree. C/C++ takes more effort than Rust, D, or especially Nim. C/C++ means uglier code, lots of boilerplate, slower development, and much higher likelihood of lethal bugs (which can cost a company millions).

With the aforementioned languages, you can still write lower-level code with manual memory management that's as efficient as C/C++, and easily interface with all of C/C++ libraries. But 90% of the time, using higher-level features and GC is a good trade-off (and they're still faster than Java, C#, Go, Haskell, etc).

[–] fuckallyall 2 points 3 points (+5|-2) ago 

Another point in its favour is that it's not Java.

[–] J_Darnley 0 points 2 points (+2|-0) ago 

cout << what << the << fuck << is << this << shit

[–] parallel0 0 points 0 points (+0|-0) ago  (edited ago)

[–] Men13 1 points 2 points (+3|-1) ago 

The main issue with C++ is the amount of undefined behavior and the very high amount of knowledge you need to write "legitimate" code.

There's just so many pitfals.

That being said - I really love it. It's my favorite language by far.

[–] skruf [S] 0 points 0 points (+0|-0) ago  (edited ago)

int square(int arg)
{
    int x;
    if (arg > 0)
        x = arg;
    return x * x;
}

[–] roznak 0 points 1 points (+1|-0) ago 

Slow compilations,

[–] skruf [S] 0 points 0 points (+0|-0) ago 

Just don't go full retard on meta programming, I guess

[–] liquidify 0 points 0 points (+0|-0) ago 

That's one of the best parts of C++ though.

[–] galabad71 0 points 0 points (+0|-0) ago 

if you are not disciplined at programming, it is way too easy to shoot yourself in the foot (and everyone else, for that matter) . I much prefer strongly typed languages and BOUNDS CHECKING. also, doing all the memory management yourself is usually a big PITA and except for a few cases is usually better done by the compiler. that being said, if you want to program embedded systems, there really is nothing else but C/C++.

[–] liquidify 0 points 0 points (+0|-0) ago 

On reason is that the IDE's are still not up to speed. Refactoring in C++ is never as nice as it is in intellij. Additionally, code completion, type hints, and other elements are pretty much fucked in all IDE's when they are behind templates.

[–] skruf [S] 0 points 0 points (+0|-0) ago 

I have found Qt Creator fairly good with this issue

load more comments ▼ (5 remaining)