[HN Gopher] Bjarne Stroustrup Quotes
___________________________________________________________________
Bjarne Stroustrup Quotes
Author : asymmetric
Score : 58 points
Date : 2023-11-26 20:27 UTC (2 hours ago)
(HTM) web link (www.stroustrup.com)
(TXT) w3m dump (www.stroustrup.com)
| jll29 wrote:
| "We didn't have time for that." (Bjarne Stroustrup, before an
| invited talk, Cambridge Computer Lab)
|
| (in response to my complaint to him that hastables again hadn't
| been included in the most recent standard at the time.)
| zabzonk wrote:
| C++ is my favourite programming language precisely because one of
| its main designers is so sensible.
| IshKebab wrote:
| Yeah mine too until Rust. But part of that sensibleness was
| making it backwards compatible with C, which entails a mountain
| of inherited design mistakes.
|
| I wonder what his blank slate language would have looked like.
| koolba wrote:
| C++ is not backwards compatible with C. It's mostly
| compatible, but it's not completely compatible like say
| Objective C which is a strict superset of C.
| PH95VuimJjqBqy wrote:
| honestly, no one cares about splitting that hair. Most
| valid C programs will compile in C++ and believe it or not,
| binary logic is not the only logic humans are capable of.
| zabzonk wrote:
| actually, i reckon that most, if any, c programs will not
| compile with c++, without at least some (possibly not
| difficult) modifications
| tsimionescu wrote:
| Almost every C program does `int *c = malloc(sizeof(int)
| *10)` or similar, which has always been invalid C++.
| IshKebab wrote:
| They have diverged _slightly_ in the years since C++ was
| introduced. But at the time the incompatibilities were
| _extremely_ small. Even today they are pretty small and GCC
| /Clang will happily compile C constructs (e.g. designated
| initialisers, VLAs) with just a warning.
|
| Actually you need `-Wpedantic` to even get a warning for
| both of those. (And `-std=c++17` since designated
| initialisers are actually in C++20.)
| pjmlp wrote:
| Until C++98 came to be, nowadays, regardless of how sensible
| Bjarne Stroustoup happens to be, his opinion is a vote among
| 300 or so.
|
| Remember the Vasa paper happened for a reason.
| zabzonk wrote:
| of course, but he is still very influential. better than
| languages that have no standard at all.
| Dudester230602 wrote:
| Let's also not forget this:
| https://harmful.cat-v.org/software/c++/I_did_it_for_you_all
| Borg3 wrote:
| Haha.. Classic :D I remember reading it back in the days...
| jacquesm wrote:
| That's a very nice find. I love that kind of candor about
| motivations on why software is written the way it is written.
| ;)
|
| I probably have a few confessions to make myself...
|
| But the royalties are just too good.
| emmelaich wrote:
| I don't find it at all insightful or humorous.
|
| (I hope you don't think it's genuine)
| jacquesm wrote:
| > I don't find it at all insightful or humorous.
|
| Humor isn't an absolute. I find it funny because if
| Stroustrup had tried he probably couldn't have made a
| language with more footguns, there are so many things in
| there that require a lot of discipline _not_ to use (or
| overuse). At the same time it was a supremely useful
| language that allowed for much better abstraction than C
| ever did but it definitely came with a price.
|
| > (I hope you don't think it's genuine)
|
| Wait, what, that wasn't real???
| chubot wrote:
| _Language design is a curious mixture of grand ideas and fiddly
| details_
|
| I hadn't heard this last one before, but it's SO right ...
|
| I always wondered why JS and PHP and Perl got so many details
| "wrong" (e.g. with Perl, one definition of "wrong" is that Perl 6
| / Raku didn't make the same design choice)
|
| Turns out there's an avalanche of details, and they interact in
| many ways!
|
| Python did better, but I strongly argue both Python 3 and Python
| 2 got strings wrong. (Array of code points isn't generally
| useful, and it's hard to implement efficiently. See fish shell
| discussion about wchar_t on the front page now; also see Guile
| Scheme)
|
| OCaml seems to have gotten mutable strings wrong (for some time),
| and also I think the split between regular sum types and GADTs is
| awkward. And also most people argue that objects vs. records vs.
| modules is suboptimal. And a bunch of mistakes with syntactic
| consistency, apparently.
|
| Looks like almost every language had problems with for loops and
| closures, including C# and Go -
| https://news.ycombinator.com/item?id=37575204
|
| So basically I agree that plowing through all the details -- and
| really observing their consequences in real programs -- is more
| important and time-consuming than grand ideas.
|
| But if you lack any grand ideas, then the language will probably
| turn out poorly too. And you probably won't have any reason to
| finish it.
| gautamcgoel wrote:
| Can you explain how you think strings should work?
| k__ wrote:
| Languages have trends too.
|
| Weak typing/Implicit conversion was cool in the 90s.
|
| JS and PHP would have magnitudes better if they were typed like
| Python, but that's history.
| hipadev23 wrote:
| PHP does have strict typing, and JS effectively since
| everyone writes TS anymore.
| getpost wrote:
| I'll see you Bjarne Stroustrup, and raise you Alan Kay,
|
| "Actually I made up the term "object-oriented", and I can tell
| you I did not have C++ in mind."
|
| https://en.wikiquote.org/wiki/Alan_Kay
| fosforsvenne wrote:
| Bjarne didn't have Alan in mind when designing C++ either.
| fuzztester wrote:
| Shooting yourself in the foot in various programming languages.
|
| http://www.toodarkpark.org/computers/humor/shoot-self-in-foo...
| lmedinas wrote:
| "There are only two kinds of languages: the ones people complain
| about and the ones nobody uses".
|
| He is right on this one. Pretty much in every discussion about
| Programming Languages people write how good Rust is and complain
| about how bad C++ is but the reality is, C++ it's one of the most
| used languages in the world.
|
| This quote could be a very harsh reply to Rust vs C++.
___________________________________________________________________
(page generated 2023-11-26 23:00 UTC)