DragonFly kernel List (threaded) for 2009-01
DragonFly BSD
DragonFly kernel List (threaded) for 2009-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: C++ in the kernel

From: Jeremy Chadwick <jdc@xxxxxxxxxxxx>
Date: Mon, 5 Jan 2009 03:33:22 -0800

On Sun, Jan 04, 2009 at 05:06:13PM +0100, Michael Neumann wrote:
> This question bugs me since a quite long time so I write it down...
> FreeBSD had a long thread about pros and cons of using C++
> in the kernel here [1].
> I'm undecided whether it would be good to use C++ in the DragonFly kernel.

Regardless of what folks decide, I ask that everyone keep one thing in
mind (which so far in this thread has not been mentioned):

This is an open-source project.  What guarantee is there that all
members of the project (at the time, or in the future) are going to
understand all the intricacies and C++ nomenclature?

An example: I used to partake in a project called suPHP (an Apache
module + setuid binary wrapper).  The author, at one point during a
minor release, migrated every single piece over to C++.  What happened
afterwards wasn't very pretty.

Many of the contributing members could no longer contribute, because
they did not know C++ (I myself fall into this category).  There were a
ton of STL-related problems depending upon what compiler you were using,
and what version (especially prominent with gcc).  Ultimately, the
number of contributed patches dropped severely, while the number of bug
reports increased.

This story is not meant to reflect on C++ the language.  I hope readers
understand the point of the story, and take into considerations the pros
and cons of said choice.

| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]