26.08.2014 21:52, Jim Starkey wrote:

> As the original author of SLONG, ULONG, et al, might I suggest that you ditch 
> them all in favor of the standard and size explicit int64_t, int32_t, etc.?

When it was discussed the last time, some compilers (was it some ancient 
MSVC version?) didn't support these standard types. I hope we may forget 
about that these days.

Also, while they deserve their place in ODS and API layers, I'm not so 
sure about the rest of the code. I'd rather prefer to have native ints 
there, with explicit casts to/from the size explicit types (and probably 
size validation) at the border layers.

> If somebody were to do a global edit to clean up artificial types, it would 
> also be a good idea to flush the "const correctness" for objects in favor of 
> clean, type safe, generally cast free code.  I have no idea who came up with 
> the idea of const correctness, but it violates the principal of 
> encapsulation, the basis of object oriented programming.

Here we're never going to agree. Const correctness does not violate 
encapsulation. There may be conflicts between object's contract 
(constness) and the underlying implementation details, but it's solvable 
natively in C++. Moreover, such conflicts are very rare in our codebase.


Dmitry


------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to