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

Reply via email to