3 ms·
You must be talking about Linux, the BSDs, sqlite, postgres, gcc, the mold linker, or let's take some new kids on the block: raddebugger, FilePilot, TaskSlinger
by jstimpfle 4mo ago
You must be talking about Linux, the BSDs, sqlite, postgres, gcc, the mold linker, or let's take some new kids on the block: raddebugger, FilePilot, TaskSlinger?
- pjmlp 4mo agoI am for example talking about LLVM and GCC, used to compile all those examples. Living in the past? GCC has long adopted C++, last time it compiled with a pure C compiler was back in 2011 thereabouts, not cross-checking the exact year. A few trees don't make a forest.
- jstimpfle 4mo agoActually care to open GCC and see what I mean? Check the newest commits and see what they do. Maybe you're living in a dream world where some magic language features do the work for you. Meanwhile people out in the field do actual work by just pushing bytes at the low level.
- pjmlp 4mo agoTo use the developers own words, > Necessary to bootstrap GCC. GCC 5.4 or newer has sufficient support for used C++14 features. > Versions of GCC prior to 15 allow bootstrapping with an ISO C++11 compiler, versions prior to 10.5 allow bootstrapping with an ISO C++98 compiler, and versions prior to 4.8 allow bootstrapping with an ISO C89 compiler. > If you need to build an intermediate version of GCC in order to bootstrap current GCC, consider GCC 9.5: it can build the current D compiler, and was also the version that declared C++17 support stable. https://gcc.gnu.org/install/prerequisites.html https://gcc.gnu.org/install/prerequisites.html So yeah, if you want to enjoy GCC 4.8... Now I can bother to show exactly each source file, but Github search is relatively easy to use on the mirror source code.
- jstimpfle 4mo agoWhy are you unable to get my point? I understand that GCC doesn't compile with plain C compiler anymore. A lot of my own code doesn't! I'm saying that most of features like templates, constexpr, reflection etc. don't scale well to serious use, as a broad statement. I fully acknowledge this is not a black and white situation. But I encourage you to look at actual pedestrian code, it's mostly not abstracted fluffy magic template code at all. It's pushing individual bytes with totally basic means (mostly C code). Why? Because code using these fluffy features is terribly hard to maintain. Templates lock you in their own language world with incredibly bad syntax and bad ergonomics, in short: it's a pain! Personally I think even C++ classes (i.e. 1980's C++) are unusable because they bifurcate syntax/semantics needlessly and add implicit invisible scope. But I acknowledge it's somewhat possible to program with classes, and some people like to lean on RAII heavily. I mostly do not like to use RAII, and I've tried many times, I think it sucks for non-toy programming, even though obviously the idea is intuitive.
- pjmlp 4mo agoBecause I am having this conversation with C folks since comp.lang.c and com.lang.c.moderated days. C++ was perfectly usable already within the constraints of DR/MS-DOS 5.0 powered PC hardware with Borland compilers, instead of plain old C. Fluffy features power the AI revolution infrastructure.
- jstimpfle 4mo agoCongratulations, empty marketing speech, not reacting to what I say.