On 3/23/2016 1:18 PM, Michal Kubecek wrote:
> On Wed, Mar 23, 2016 at 10:59:20AM -0400, Jim Starkey wrote:
>> Defining your own macro layer gives you cheap portability and a zero
>> overhead implementation.
> That's one side of it. The other is that for occasional contributors or
> distribution support guys, it brings a lot of confusion. Like when you
> find out that ULONG is in fact not unsigned long as one would expect
> from the name but rather what standard calls uint32_t). Or when you
> learn that instead of a standard library function you are supposed to
> use this compatibility wrapper. Regular contributors have learned these
> and got used to it; for newcomers, it can be tough at times.

Frankly, the idea of an occasional contributed messing around with 
non-interlocked data structures is remarkably scary.  Anyone who is 
troubled by COMPARE_AND_SWAP or COMPARE_EXCHANGE should be anywhere near 
them.

Now that Microsoft accepts the standard artificial integer types, it's 
probably time to do a couple of global replaces and replace things like 
ULONG with standard artificial types.  I created ULONG a couple of 
decades before stdint.h existed and even longer before Visual Studio 
could handle both stdint.h and Microsoft includes. This is just normal 
project maintenance.

>
> The portability you mention is nice but it's paid for by readability and
> maintainability of the code. Most of the stuff is historical and it
> would be unwise to rush into weeding it out. But we should think twice
> before adding more.
>
>                                                         

With a code base so rife with casts as Firebird, it's hard to make a 
legitimate argument for readability.  If anyone cared about readability, 
the code would reworked to be type safe.

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to