[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)