4 ms·
Impressive how C++ always attracts a naive and uninformed toxicity on HN. C++20 is amazing, there has been so much incredible work put in my some many amazing e
by lionkor 6y ago
Impressive how C++ always attracts a naive and uninformed toxicity on HN. C++20 is amazing, there has been so much incredible work put in my some many amazing engineers.
Yes there are competitors to C++, and we all love an underdog story, but I personally find it to be the only language with this level of expressiveness, without sacrificing complete control.
You can write JS-style, with auto and other zero-runtime-cost abstractions, or you can write plain C with function overloading and templates.
C++20 is an incredibly exciting milestone, and I congratulate the standards commitee on every little milestone. Great work, guys!
- jokoon 6y agoI just pray that modules will one day let developers speed up compile times. Toolchain complexity, size and slowness are the only things that make me use python.
- lionkor 6y agoclang and MSVC both already (partially) support modules! other than that, gcc is the most c++20-feature-complete compiler
- pjmlp 6y agoMy C++ coding on Windows with VC++ is usually faster than Rust coding, because of incremental compiler, incremental linking and using binary libraries for 3rd party dependencies (DLL/COM). I think when modules mature, it can eventually reach Delphi/.NET like compile speeds.
- jcelerier 6y ago> I just pray that modules will one day let developers speed up compile times. Compiles times are not a problem if you use adequate tools. I have a codebase that heavily uses some large libs such as boost and Qt, here's a video of the edit-compile-run cycle: https://streamable.com/o2g765 https://streamable.com/o2g765 compilation when editing a file takes one-two seconds (measured it at 101 frames in the video in this case, so a bit less than 2 seconds). If anyone's wondering how it's done: - Clang & lld instead of GCC & bfd/gold - Ninja instead of Make (or anything else really) - CMake target_precompile_headers - Code split in dynamic libraries for dev builds There aren't even advanced tricks such as incremental linking mentioned by other comments.