Hacker News new | past | comments | ask | show | jobs | submit login

What an interesting development. The year is 2011 and we are proudly announcing removal of C++ due to bloat.



I 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.


Well, 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/) to compile OpenBSD.

Plus, from mandoc website (http://mdocml.bsd.lv/):

Why? groff amounts to over 5 MB of source code, ...


> and its replacement is much faster in rendering manpages

Besides the build bloat, that certainly hints at it.


Mandoc 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.


Probably 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.


troff 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.


Indeed. 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)


Well, 15 lines is a bit optimistic. mandoc is ~25 000 lines of C, and not yet complete.


I was figuratively speaking. In Python it'd be less lines than C, but still a substantial project.


Orthogonal 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.


libstdc++ remains as much a part of core as it ever was.


But if nothing links with it, so there are no executables using it, that would seem to reduce the attack surface.


The attack surface of "there is groff in /usr/bin" was never very substantial.


Get root to run "man foo" with the right manpath...


I see. So does this purge only consist of compiled executables then, with the standard C++ headers and libstdc++ still getting a pass?


I 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.


Sad, 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++.


Yes. 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.


Wait... so then libstdc++ isn't written in C++? Or is "core" different from "base"?


Option 3: core/base is not actually free of C++.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: