On 2/29/2016 2:19 AM, Michal Kubecek wrote:
> .
>
> Question: Does this problem would also affect the compiled client
> library? Or do you guys also think nobody using Win XP/2003 will needs
> to connect to Firebird? <g>
> First, the discussion is about a version which, extrapolating from
> previous release dates, is not likely to be released before 2020.
> Second, IIUC, you should still be able to connect to a 4.0 server with
> 3.0 client library.
>
> That said, using a different compiler for server and client sounds like
> asking for trouble to me. (On the other hand, the most recent Windows
> IDE I have experience with is Borland C++ Builder 6 so you don't have
> to take me too seriously.)
>
>   

I'm not at all sure that having "official" Firebird compilers is that 
good of an idea.

The basic principle is that the code should work on a wide variety of 
compilers.  My experience has always been that if an unfamiliar compiler 
produces errors, warning, or unexpected results, the probably has almost 
always been with the code, not the compiler, usually a latent bug 
prepared to expose itself later.  With an official compiler, the 
temptation will always be to write off an unexpected results from an 
"unofficial" compiler as an aberration.

The primary question is always which platforms to support.  If the 
project chooses to support a platform, the code should compile on 
whatever had been the generally accepted compilers when that platform 
was active.

There is often a drive to use every possible C++ feature (and Firebird 
has this problem in spaces), and the availability of new C++ language 
features and compilers to support them, but the desire to use new 
language features should not dictate which platforms or compilers to 
use.  Yes, there are cases where this can be painful. Sun's refusal to 
support function prototypes required substantial (and ugly) workarounds, 
but the value of function prototypes on most platforms made the cost 
acceptable.

There are many, many fewer platforms now than in the past.  At one 
point, Interbase was supporting 19 more or less incompatible Unixes as 
every dying computer company tried to establish their own definitive 
balance between System V and BSD (and the introduction of Posix made 
everything much worse).  But we coped.

Using a variety of compilers, even old compilers will make the code base 
and the project stronger.

And no, it is perfectly reasonable for the client and the server to run 
on different platforms, which makes the question whether the server and 
client should use the same compiler meaningless.



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to