2 ms·
> behave the way the C implementers want them to If you don't please your users, you won't have any users.
by WalterBright 9mo ago
> behave the way the C implementers want them to
If you don't please your users, you won't have any users.
- AlotOfReading 9mo agoAnd yet, C++.
- locknitpicker 9mo ago> And yet, C++. By any metric, C++ is one of the most successful programming languages devised by mankind, if not the most successful. What point were you trying to make?
- zem 9mo agothat it has millions of users while pleasing approximately none of them
- Joker_vD 9mo agoThat it doesn't pleases lots of its users I imagine. I, personally, certainly never enjoyed it but sometimes you don't have a realistic alternative and have to use C++ (or C). In which case your pleasure or displeasure doesn't really matter, you just use that one tool with very sharp edges in the most unexpected (and ridiculously exposed) places with as much care as you could, then bandage your wounds and move on.
- zbentley 9mo agoTrue! But C++ is popular almost entirely because of when (in history/what alternatives existed at the time) and where (on what platforms) it first became available, and how much adoption momentum was created during that era. I think claiming that C++ is successful because of the unintuitive-behavior-causing compiler behaviors/parts of the spec is an extraordinary claim--if that's what you mean, then I disagree. TFA discusses that many of the most pernicious UB-causing optimizations yield paltry performance gains.
- WalterBright 9mo agoIf I may pontificate a bit, I was a major contributor to the success of C++. Back in the 80s, I was looking for a way to enhance my C compiler. I looked at Objective-C and C++. There was a newsgroup for each, and each had about the same amount of traffic. I had to pick one. Objective-C required a license to implement it. I asked AT&T if I needed a license to implement C++, and could I call it C++. AT&T's lawyer laughed and said feel free to do whatever you want. So that decided it for me. At the time, C++ did not exist on the PC other than the awkward, nearly unusable cfront (which translated C++ to C). At the time, 90% of programming was done on the PC. I implemented it. It was the first native C++ compiler for the PC. (It is arguable that it was the first native C++ compiler, depending on whether a gcc beta is considered a release.) The usage of it exploded. The newsgroup traffic for C++ zoomed upwards, and Objective-C interest fell away. C++ built critical mass because of Zortech C++. Borland dropped their plans for an OOP language and went for Turbo C++. Microsoft also had a secret OOP C language called C*, which was also abandoned in favor of implementing C++. And the rest is history! P.S. cfront on the PC was unusable because it was 1) incredibly slow and 2) did not support near/far pointers which was required for the mixed PC memory models. P.P.S. Bjarne Stroustrup never mentioned any of this in his book "The Design and Evolution of C++".
- groestl 9mo agoIf you're self hosting your compiler on C, you are your own user.
- godelski 9mo agoWhich users?
- Jweb_Guru 9mo agoIt's ironic that I have to tell you of all people this, but many users of C (or at least, backends of compilers targeted by C) do actually want the compiler to aggressively optimize around UB.
- WalterBright 9mo agoI'm well aware of that. We've had many, many discussions of that in the D forums.
- Gibbon1 9mo agoConsider that most programmers have long since fled for other languages.