Talking advantage of a discounted sale price, I recently bought a notebook to replace my elderly boat computer. Taking advantage of a deeply appreciation observation on this list, I download, among many other things, the "Community" version of Visual Studio 2015, and preceded to move a collection of projects to the new machine.
One of the code bases was identical in profile to Firebird: pure virtual formal interfaces, fine grain multi-threading, non-interlocked data structures, parser, compiler, and execution phases, a lot of crypto, including "hardware" AES, networking, etc. The code base was developed on VS 2010 and a diverse smattering on gcc's on AMD64 Linux and Raspberry Pi. The porting experience was this: git clone, cmake generation, Visual Studio Load Solution, eliminated now superfluous vsnprintf macros required by an earlier Visual Studio, compile, and run in both 32 and 64 bit modes (OK, 32 build didn't link because I didn't build a 32 MPIR library). If Microsoft had not made their preprocessor sensitive to vsnprint as a macro name, it would have been a zero-change exercise. Part of engineering is to reduce unnecessary complexity. But making something simple doesn't necessarily mean dumbing it down. It does, however, require some deep thinking. Case in point. Sean writes stored procedures that blow the BLR context limit. Adriano wants to make BLR more complex to generate and parse. The smart thing to do is to apply the work that would be wasted extended an obsolete and superfluous legacy interface to replacing it with Firebird SQL. This should be a no-brainer, like not adding an electrical system to a model T Ford so you can install a CD player. Firebird has a pretty good history of painting itself into corners to use every possible feature or kink offered by C++ without regard to portability. I suggest that some effort be given to reverse this process. It is easy to write portable, clear C++ code. Use C++ as an OO language, ignore fads if they made no sense (const-correctness, for example), not get cute, track where bugs show up, and learn from experience. ------------------------------------------------------------------------------ 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