8 ms·
What an interesting development. The year is 2011 and we are proudly announcing removal of C++ due to bloat.
by goalieca 16y ago
What an interesting development. The year is 2011 and we are proudly announcing removal of C++ due to bloat.
- troutwine 16y agoI didn't catch the word "bloat" in the linked article, nor really any hint of such a complaint. Rather, it seems like the OpenBSD has happily announced the removal of C++ in their base because of compilation speed issues. > Groff was also one of the slowest parts in a full build... C++ compilers might be many things, but zippy they are not.
- dchest 16y agoWell, C++ compiler is bloat, as is standard library. There's an effort to use Portable C Compiler (which recently reached 1.0 http://pcc.ludd.ltu.se/news/ http://pcc.ludd.ltu.se/news/) to compile OpenBSD. Plus, from mandoc website (http://mdocml.bsd.lv/ http://mdocml.bsd.lv/): Why? groff amounts to over 5 MB of source code, ...
- goalieca 16y ago> and its replacement is much faster in rendering manpages Besides the build bloat, that certainly hints at it.
- tzs 16y agoMandoc is a tool specifically for formatting man pages. Groff is a general typesetting tool. That probably accounts for most if not all of the difference in speed.
- jrockway 16y agoProbably a good choice. For a workstation, you might encounter the need for a typesetting system. But for your router, you probably don't need it. So I think OpenBSD made the right choice about what to ship in core.
- JoachimSchipper 16y agotroff is technically a general-purpose typesetting system, but how many people are still using it for anything other than formatting man pages? (La)TeX and other formats have pretty much taken over.
- wladimir 16y agoIndeed. I hope Linux distributions will follow with replacing Groff. It's a huge, slow, ancient system and for the purpose of formatting manpages it can be replaced by a 15-line Python script. (this has nothing to do with C++ versus C, simply with removing some bloated UNIX legacy code)
- JoachimSchipper 16y agoWell, 15 lines is a bit optimistic. mandoc is ~25 000 lines of C, and not yet complete.
- wladimir 16y agoI was figuratively speaking. In Python it'd be less lines than C, but still a substantial project.
- jckarter 16y agoOrthogonal to bloat, libstdc++ is a large, ugly, and hard-to-audit attack surface that I'm sure OpenBSD is glad to push out of core.
- tedunangst 16y agolibstdc++ remains as much a part of core as it ever was.
- jckarter 16y agoI see. So does this purge only consist of compiled executables then, with the standard C++ headers and libstdc++ still getting a pass?
- tedunangst 16y agoI think it's rather sad that HN has mostly ignored the meat of this story, and is instead focusing on a not entirely true one line throwaway.
- jckarter 16y agoSad, but understandable. "OpenBSD writes their own ROFF interpreter" isn't very interesting, but "OpenBSD purges C++ from core" appeals to developers' strong emotional responses toward C++.
- JoachimSchipper 16y agoYes. And it's not so much a C++ purge as it is a "unmaintainable GPL-licensed slow software" purge, as far as I understand. C++ does hurt comprehension, but it's not the main complaint.
- wnoise 16y agoBut if nothing links with it, so there are no executables using it, that would seem to reduce the attack surface.