[bind10-dev] A plea for Name() rather than Name(".")

JINMEI Tatuya / 神明達哉 jinmei at isc.org
Fri Feb 19 09:52:17 UTC 2010


At Thu, 18 Feb 2010 17:58:24 -0500,
christos at zoulas.com (Christos Zoulas) wrote:

> | Unfortunately C doesn't have a strong support for prohibiting such an
> | error prone style in that
> | - (until C99) variables must be defined at the beginning of a function
> 
> Let's be precise here please (the point is moot anyway because we have
> c99), but since you brought it up: You can always introduce a scoping
> block in the middle of your code and add declarations in the beginning
> of it so it is not really a serious limitation.

[snip]

> It is a matter of programming style. If you are willing to lose a
> little efficiency you can always hide the implementation and write
> constructor and destructor functions in c.

Both points are taken, and I was aware of these points (in fact BIND9
adopted the C-based implementation hiding with opaque types), but I
was too lazy to go that far (I know this may sound like an excuse).
Anyway, I don't think these details affect my main point, so I won't
debate these points here.

> I don't disagree with the c++ implementation choice, but personally I would
> have preferred to have a java implementation instead...

I'm sorry we didn't choose your preferred language, but unfortunately
that discussion was over (and I'm sure Michael would have had even a
stronger preference on this point than the minor nit of whether to
allow Name() :-)

This may not make you happy, but the basic idea is that we'll use C++
only where performance can matter, such as authoritative/recursive
server implementations and related libraries used by them.  The C++
DNS library is one of them, and we'll also provide python (sorry it's
not java) wrapper for the C++ libraries too.

---
JINMEI, Tatuya
Internet Systems Consortium, Inc.



More information about the bind10-dev mailing list