In the process of switching over to a 32-bit C++ connector library, I had occasion to revisit the build procedure. The connector source needs to include template classes from the Boost library, which consists of over 60,000 files that collectively occupy more than half a gig of disk space. The boost library will not compile with version 12 of the Microsoft compiler, which is the one I use for my million-line app.
Gentlemen, this is the aftermath of a bad design choice, says 50 years of experience on large and small software projects. To put it another way, it is a conspicuous example of what might be called the tail-wagging-the-dog syndrome, wherein developers rely on gigantic pieces of infrastructure that happen to be lying about on their machines.
The purpose of the connector library is to bridge between an app and the MySQL engine. It ought to be simple, and the source code ought to be usable with any reasonably robust set of build tools. Someone has gone badly astray by relying on a third-party library instead of crafting a self-contained solution.
Gentlemen, this is the aftermath of a bad design choice, says 50 years of experience on large and small software projects. To put it another way, it is a conspicuous example of what might be called the tail-wagging-the-dog syndrome, wherein developers rely on gigantic pieces of infrastructure that happen to be lying about on their machines.
The purpose of the connector library is to bridge between an app and the MySQL engine. It ought to be simple, and the source code ought to be usable with any reasonably robust set of build tools. Someone has gone badly astray by relying on a third-party library instead of crafting a self-contained solution.