Conversation
Notices
-
Embed this notice
Despite its widespread adoption, some notable programmers have criticized the C++ language, including Linus Torvalds, Richard Stallman, Joshua Bloch, Ken Thompson and Donald Knuth.
As expressed by Joshua Bloch:
"I think C++ was pushed well beyond its complexity threshold, and yet there are a lot of people programming it. But what you do is you force people to subset it. So almost every shop that I know of that uses C++ says, "Yes, we're using C++ but we're not doing multiple-implementation inheritance and we're not using operator overloading.” There are just a bunch of features that you're not going to use because the complexity of the resulting code is too high. And I don't think it's good when you have to start doing that. You lose this programmer portability where everyone can read everyone else's code, which I think is such a good thing."
Donald Knuth (1993, commenting on pre-standardized C++), who said of Edsger Dijkstra that "to think of programming in C++" "would make him physically ill":
"The problem that I have with them today is that... C++ is too complicated. At the moment, it's impossible for me to write portable code that I believe would work on lots of different systems, unless I avoid all exotic features. Whenever the C++ language designers had two competing ideas as to how they should solve some problem, they said "OK, we'll do them both". So the language is too baroque for my taste."
- clacke likes this.
-
Embed this notice
@Obsol33t > Donald Knuth (1993, commenting on pre-standardized C++
It wasn't standardized until 1998 and it took another six years or so after that for all the major compilers to become largely consistent. It was still hard to write portable code in my experience because: the language was standardized but the output wasn't so shit like linking to C would be broken on some platform or another; you'd disable rtti because of performance or compile size and then smart pointers would still compile but just not work right. these aren't problems with standardization but the language itself. i feel like c++ just has far too many compromises. I have a laundry list of other complaints about C++ but these are the portability ones.
-
Embed this notice
@Obsol33t I never got good at C++ because I always ran into problems that just made me miserable and I went off and did something else like learn Java, that had explicit profiles for full computers, embedded or mobile computers, and smart cards.
-
Embed this notice
@Moon @Obsol33t
it's interesting to me the quote regarding too many features
> You lose this programmer portability where everyone can read everyone else's code
the thing is if those features weren't in the language they'd be in a library (or 5 different libraries for 5 different versions, probably) and so programmer portability between projects using different libraries would still be shot
I don't mean that in support of c++ (it's definitely bloated) just something that bugs me every time I see that type of complaint
-
Embed this notice
@roboneko @Obsol33t I think a lot of the complaints are less true in 2023 than in 1993. But one thing that remains true is that when you try to support everything but make everything optional you can't make the language clean and comprehensible. to do that you need to make choices that exclude other functionality. C++ arguably didn't have a choice to do this and target the space it wanted to target (advanced-features superset of C)
-
Embed this notice
@sysrq You clearly haven't navigated properly with the keyboard in emacs - it's much faster and there's no need to use the cursor keys, although they work.
-
Embed this notice
@MK2boogaloo @Obsol33t @coldacid @f_o_u_r_t_y @lina
"bro keyboard is faster just spam the cursor keys"
-
Embed this notice
@sysrq @lina @Obsol33t @coldacid @f_o_u_r_t_y mouse is bloated.
-
Embed this notice
@lina @Obsol33t @coldacid @f_o_u_r_t_y
I use acme because I like the mouse :-}
-
Embed this notice
@sysrq @Obsol33t @coldacid @f_o_u_r_t_y i use nano :Chad:
-
Embed this notice
@lina @f_o_u_r_t_y @Obsol33t @coldacid
vim is for sissies, install ed
-
Embed this notice
@f_o_u_r_t_y @Obsol33t @coldacid looks nominal
vim is failware because you have to look up how to exit it when you accidentally open it
-
Embed this notice
@lina @Obsol33t @coldacid micro is nice too if you don't want vim
-
Embed this notice
@f_o_u_r_t_y @Obsol33t @coldacid yea, nano for a TUI editor and mousepad for a GUI editor
-
Embed this notice
@lina @Obsol33t @coldacid different tools for different jobs
-
Embed this notice
@coldacid @Obsol33t literally nobody uses emacs except tryhards who wanna look cool THOUGH
nano and mousepad are sufficient enough for text editing
-
Embed this notice
@lina @Obsol33t he's an old-school AI Lab type, it's to be expected. It's why Emacs is the true GNU operating system, not Linux.
-
Embed this notice
@Obsol33t richard stallman hates bimbixes