at any point in time, you have to ask yourself: why am I not using C++? It: >can facilitate massive project scope >compiles to super fast binaries for any platform. minimal runtime, just double click the .exe >can elevate your logic through greater layers of abstraction. >has the biggest ecosystem of any language. more libraries than anywhere else. extremely powerful & fundamental libraries like freetype, stb, sdl, entt, glm, libav, yoga >battle proven. makes pretty much every game, every browser and compilers like llvm. no sudden unexpected unfixable bugs that’ll cripple your project >is great for small programs like command line utilities >ultra portable. can be made to run on absolutely anything. PS2, nintendo64, iphone, you name it >is ubiquitous. looks good on your resume. a lot of people know C/C++ and can work with you or for you. >is great for prototyping. used by the majority of winners in coding competitions
when faced with these facts, you better have some good excuses for not switching to C++ immediately
STL is fucking unreadable and has illegible errors, has a lot of other problems too. Exponential compile time. Template abuse. Memory management meme/"smart" pointers. Ecosystem is mostly bloat nullifying the performance gains from switching to C++. >looks good on your resume if anything I heard it's a massive red flag >used by the majority of winners in coding competitions no shit because competitive programming is all about speed did you look at a winners horrendous code tho
Kevin Murphy
Because it can't split a string.
Nathan Collins
thanbks but ill stick to c
Colton Turner
no thanks. i use an assembler because i'm a straight white male.
Isaiah Collins
>at any point in time, you have to ask yourself: why am I not using C++? Yes. Then I used C++ and I remembered why I abandoned it.
Asher Bennett
Dogshit package manager. Dogshit standard library.
Dylan Lewis
>if anything I heard it's a massive red flag Is this what the rust trannies believe?
slow compile times and it's not very ergonomic, like a sharp sword where the handle is a cactus for no good reason, utter garbage only sociopaths unironically use C++
Charles Cooper
C++ has bloated syntax and features. Even if you limit yourself to a sane subset. You always get into contact with insane third party stuff.
Tyler Bailey
Because it does not have anything comparable to an interactive REPL.
It is inexcusable for a programming language not to support interactive features in 2022 and it's truly mind-boggling that it still isn't the norm everywhere.
Isaiah Jenkins
std::views::split
>slow compile times C++ is significantly faster to compile than rust. granted not as fast as c but it has a lot more going on
William Reed
"it's used in competitive programming" is probably the worst possible reason to use something for any other kind of project
David Cox
>>compiles to super fast binaries for any platform. minimal runtime, just double click the .exe needs x10 for a basic hello world its slow as fuck to compile.
Oliver Powell
since this is a cpp thread someone explain if I can move a heap allocated object. I have a vector of objects which all inherit the same base class and only have a different implementation of a specific method I want to change the obj at index i at runtime and make sure it occupies the same spot as the old one. Any idea? I know variant would also be a option but then I would have to wrap std::visit for everything.
Thomas Price
>std::views::split Can't use this in production, have fun updating every toolchain out there.
Michael Wright
Placement new?
Carter Adams
No thanks, I learned Ada. It's better in every way.
Alexander Wright
>limit yourself to a sane subset The problem is that, in the case of C++, it's very hard if not impossible. Many features have a circular dependency upon each other, to the point that you basically have to be aware of every gotcha of every feature, or else they will behave in incredibly surprising ways when combined.
The concept of having a large language where you can only cherry pick what you want and forget about the rest isn't even that bad, but it has to be done right: namely, the features have to be independent from one another. Instead, in C++, even basic features depend on less desirable features, for instance RAII is impossible without exceptions and vice versa.