[Insight-developers] Adding Concept Chechking "float"/"double" to pixel type of GradientAnisotropicDiffusion

Steve M. Robbins steve at sumost.ca
Mon Aug 20 10:56:30 EDT 2007


Bill,

Thanks for the pointer to the ITK backward compatibility doc.  As a
user of ITK, I am certainly pleased that the ITK developers place such
a high regard on backwards compatibility.


On Wed, Aug 15, 2007 at 12:59:34PM -0400, Bill Lorensen wrote:

> According to our backward compatibility policy, the introduction of compiler
> errors should be avoided at all costs. A compiler error is typically crytic
> especially in templated code. A runtime error message can be very
> descriptive to the owner of the code. As you stated, the development team
> failed to place this restriction on the code originally. Often, the person
> recompiling the application code may not be the same person who wrote the
> original application. Also, some time may pass between version updates of
> third party (e.g. ITK, VTK) code.

I wasn't aware of the strong restriction on introducing compiler
errors.  I can't fault your analysis in this regard, though I
would draw a distinction between a design change and a bug fix.
Personally, I have no problem putting in, e.g., concept checking
for the latter case.

On the general topic of concept checking (with which I admit to having
no experience): naively, it seems to be always a good thing to check
in such heavily generic code as ITK.  Perhaps I'm wrong in thinking
this.  If it is a good thing: have the ITK developers considered
introducing backwards compatibility-breaking concept checking,
conditional on a CMake variable?  This would allow ITK users who want
the compile-time checks could have them, and the rest could keep
backwards compatibility.


Regards,
-Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.itk.org/mailman/private/insight-developers/attachments/20070820/89f43fe8/attachment.pgp


More information about the Insight-developers mailing list