Episode 151: Is C++ Dying (Response) #42
Replies: 8 comments 15 replies
-
In the intro, Bryce said "C++ has one of the largest bodies of existing, written code out there". I hear this a lot, but is there any documentation or objective measurements of this? Whenever I hear quotes like this, I fear we are committing the sin of counting both pure C and bona fide C++ as the same thing for this metric. Consider the Linux machine I'm typing this on -- zero million lines of the kernel are written in C++ and zero million lines of device drivers are written in C++. If my one-off scripting is right, of the 1686 binaries in /usr/bin on my machine, only 238 link with c++ libraries. Thanks, and keep up the podcasting. |
Beta Was this translation helpful? Give feedback.
-
Thanks. Is it possible to hire full time committee members to evolve the language? The Committee members are passionate volunteers while working for their companies, and the majority of programmers are busy and have no time or money to write papers and go to face-to-face meetings. So everyone hopes that somebody is working for their needs. Some features are easy to implement but nobody writes a paper, and some features cannot be introduced due to ABI break(it is a hot potato now). Reflection and pattern matching are long awaited features but it would be hard to pick one proposal because others come up with better ideas. In this case the full time committee members can carry on these issues without interruption. Did I repeat well known facts? BTW, in three years or so we might see the output of new language projects and how they are embraced. The Circle compiler seems to have an early working borrow checker. I hope C++ also responds to these challenging environments. P.S. Cmake 3.28 will support C++20 named modules for MSVC, Clang 16.0, and GCC 14. |
Beta Was this translation helpful? Give feedback.
-
How do you manage to have a podcast called ADSP and know almost nothing about the languages that Wirth worked on? Roughly speaking they are
I'd say that they are all systems languages. Modula-2 was developed to write the OS and software for the Lilith workstation. Oberon was also developed as a full system (workstation, operating system and compiler) all developed at ETH Zurich. |
Beta Was this translation helpful? Give feedback.
-
C++ can't die, There are many areas where C++ is the only option to get something done I think the main problem is that there are different type of developers and C/C++ differs in how you think compared to other languages. C++ is assembler without coding assembler. Coding C++ not knowing assembler is problematic. If you don't know why C++ is not the right language, then select C++ |
Beta Was this translation helpful? Give feedback.
-
Ok, this episode was just off the chain. I personally LOVED it. The fact that it invoked this response from Jason Turner made it infinitely better: https://www.youtube.com/watch?v=hxjSpasg3gk&t=103s To the naysayers that say that people have been saying this for a long time, I believe this time is different. |
Beta Was this translation helpful? Give feedback.
-
Borland produced Turbo Pascal prior to Delphi. Delphi was Borland’s OO version of Pascal. Microsoft also had a Pascal compiler. Both were used extensively to write many major DOS applications during the 70s and 80s. Also DBase and its derivatives were popular choices for DOS database applications. The adoption of C on PCs I think was fueled by the timing of Windows applications. Initially Pascal did not support Windows as far as I remember. I did do maintenance work on a sizable commercial DOS application which had mostly Pascal and some C modules. I think primarily because a developer wanted to learn C. This was the time of the beginning of my career as a software developer. Yep I’m one of those xxx. |
Beta Was this translation helpful? Give feedback.
-
I was just listening to this episode again, where Bryce says:
This is a very interesting take and I agree with a lot of what Bryce is saying here and continues to say after this quote. Just before the above quote, Bryce also says:
Likely a substantial fraction of this code is written in C++98/03 and mostly in the style of C with classes, especially in embedded devices. Even though this code could be refactored to modern C++, it would still be a huge effort. So we are already at a place where there are large amounts of legacy code that are in practice working in a language version from 20 years ago. I'm certain that there are much worse problems with maintaining such a code base than an old C++ standard, such as bad readability, testability, modularity, low automatic test coverage and so on, which are all problems unrelated to the actual language the code is written in. I generally would like the C++ community to focus more on teaching, learning and improving architecture and design of the software and less on the minutiae of the C++ standard and the newest additions to the language. What do you think? |
Beta Was this translation helpful? Give feedback.
-
I wonder why you include Hylo in the set of successor languages? As you mentioned, C++ is very hard to interface against (as opposed to C) and so any language that doesn't solve that would not really qualify as a viable successor language would it? That means that any real contender needs to be able to fully parse C++ or the AST:s generated by the compiler to qualify. Which would mean the set only includes Carbon and Cppfront (and probably Circle). Although one could argue that D should also be included, since it has a decent C++ interface (https://dlang.org/spec/cpp_interface.html). |
Beta Was this translation helpful? Give feedback.
-
Episode Link: https://adspthepodcast.com/2023/10/13/Episode-151.html
Feel free to write comments or ask questions 🙂
Beta Was this translation helpful? Give feedback.
All reactions