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