3 ms·
I mostly agree with you, but operating systems and web servers are generally written in C and not C++. For example Linux, (the vast majority of) GNU, Apache, an
by jefftk 7y ago
I mostly agree with you, but operating systems and web servers are generally written in C and not C++. For example Linux, (the vast majority of) GNU, Apache, and Nginx are all C.
(Though I expect your parent has similarly negative views on C?)
- 72deluxe 7y agoYou are correct, thanks. My comment comes across as very irritated, but it's the same argument that will continue to the end of time I guess - "this tried, tested and widely used language is broken because it is not language $x and because it lacks this edge-case invented usage scenario even though it works adequately for 99.9% of all other scenarios as demonstrated by decades of use". It's wearying. Sure, C++ is complicated but so is English! I thought nginx was C++? I also thought large portions of Windows are C++? Everybody loves COM!
- jefftk 7y agoNginx is C, and the authors really don't like C++. (I used to work on ngx_pagespeed, which was a C++ server module that plugged into Nginx to rewrite pages so they would load faster.)
- 72deluxe 7y agoThanks for the info! Did they approve of your module?
- jefftk 7y agoThey liked that we were building something cool for their server, but our approach was so different from theirs (in ways that went way beyond the language) that our module wasn't ever going to become officially part of Nginx or anything.
- dgellow 7y agoTo balance with what you say: Windows is mainly C for the kernel, and C++ for the rest https://en.wikipedia.org/wiki/Windows_NT#Programming_language https://en.wikipedia.org/wiki/Windows_NT#Programming_languag.... That's around 90% of the desktop/laptop market. IIS, Microsoft's web server, is C++ https://en.wikipedia.org/wiki/Internet_Information_Services https://en.wikipedia.org/wiki/Internet_Information_Services. I think it is still the 3rd most popular web server in the worldwide.
- marcoperaza 7y agoA significant portion of the C++ code in Windows uses very few C++ features or idioms and is basically C with classes or one or two useful features.
- pjmlp 7y agoWhich is still C++.
- marcoperaza 7y agoAbsolutely, but that kind of code doesn’t really speak to complaints about modern C++ and all it’s become. I just wanted to chime in with that extra information. I don’t really have a dog in the fight, other than having a lot of love for C and good C code.
- rleigh 7y agoIt is, but I do wonder if a large part of the problem with regard to using C++ features on Windows is the poor support for it in the ancient COFF linker and binary format they support. Lots of stuff like template export is possible with ELF which is impossible or dangerous on Windows.
- marcoperaza 7y agoI can also attest that lots of “modern C++” code exists in Windows. There is code in Windows that was written yesterday and code in Windows that was written over three decades ago.
- gigatexal 7y agoNo my terrible grasp of English even as a native speaker is the cause of this confusion. What I meant was: “No I meant that from cppreference using coroutines means you can’t use the features I mentioned not that those features don’t exist in c++20“
- stjohnswarts 7y agoThere's no reason that any of those couldn't be written in c++ by good coders. It's just a historical thing.
- jefftk 7y agoMy parent was arguing "C++ can't be as bad as you say, look at all these things written that use it". Things written in C are not evidence for this, anymore than things written in assembly.