5 ms·
Most of these features have been used by countless C++ developers for the past decades -- I really don't see the point in adopting a language that's mostly C++
by SuperV1234 1y ago
Most of these features have been used by countless C++ developers for the past decades -- I really don't see the point in adopting a language that's mostly C++ but without some of the warts. Either pick C++ or something like Rust.
- throwawaymaths 1y agothe problem with picking C++ is that eventually you onboard someone who uses the warts in their code, and then the warts become like craft glitter.
- jack_pp 1y agoMaybe instead of building a restricted C++ we should be building parsers that restrict what C++ features we use.
- pjmlp 1y agoIt is called static analysis tool.
- pjmlp 1y agoA matter of code review and static analysis configuration. Unfortunately adhering to modern tooling is always a quixotic battle, even when they come for free on modern FOSS compilers.
- Retro_Dev 1y agoTo me it didn't really feel like C++; it is much less complicated. Could you explain more what you mean by this?
- jokoon 1y agoI would prefer a "lightweight" C++. C++ is fine, but it's insanely slow to compile. I generally like C++, but I could trade anything to make it faster to compile, and most of the time, I just use a small subset of C++ that I feel okay with.
- pjmlp 1y agoPre-compiled headers, binary libraries, avoid header only libraries, if lucky to be on latest clang/VC++, modules.
- jokoon 1y agopch are not standard Modules support was added recently, and I don't think most libraries or cmake support it yet, and I don't really see tutorial about good practices for modules, especially when it comes down to speeding up compilation. Also modules do not really speed up compilation that much, apparently, or I have not seen benchmarks, maybe because modules are not well supported yet? Modules are great in theory, but I am not sure they are usable in 100% of cases, especially with all the existing code that is out there?
- SuperV1234 1y agoC++ is not slow to compile. The Standard Library is.
- lerno 1y agoC++ is just slow to compile. With the standard library it is much worse. The problem is that with C++ you're not getting as much encapsulation as you would in C unless you do extra work that also has a performance hit (pimpl). This means that C++ code often has to recompile a whole lot more than C code does when doing incremental compilation in my experience.
- SuperV1234 1y agoThis is just not true. There's nothing that makes C++ inherently slow to compile. PImpl doesn't need to have a performance hit as you can implement it with a local fixed-sized buffer that's not heap-allocated. You can also design your C++ codebase exactly as you would in C, so there's literally no reason why you'll need to recompile more in one language compared to the other.
- pjmlp 1y agoIs for the C++ without Classes crowd, mostly. Personally when I initially learned C++ back in 1993, with Turbo C++ 1.0 for MS-DOS, I hardly saw a reason to further use C instead C++, other than being required to do so.
- joshring2 1y agoC3 benefits from focusing more on the problem at hand than language complexities. There are definitely advantages to simpler tools, you can streamline development and make people more productive quicker. Compare that scenario to C++ where you first have to agree the features you're allowing and then have to police that subset throughout on every PR.
- arp242 1y agoC3 is "mostly C++" in the same way that my bicycle is "mostly a motorbike".