So I was skimming through my software engineering book, and I came upon a small section saying that we should try to develop or use standardized components for use in our programs so we spend less time developing the same stuff and spend more time working on the actual program. If I wanted to go on the web and look up components, such as a connection handler for socket communications, where would I find these things?
I know of at least one instance of this: ThreadPool. On SourceForge, there's a project which delivers a ThreadPool header file, giving a fully developed thread pool to work with, instead of reinventing the wheel yourself.
What I'm not looking for is BOOST. BOOST gives plenty of new classes and objects to play with, but they are still data types that have to be put together to have something meaningful. ThreadPool is value added for Thread. I'm looking for other such value added components.
What I'm not looking for is BOOST. BOOST gives plenty of new classes and objects to play with, but they are still data types that have to be put together to have something meaningful.
That would be rather short sighted, since Boost provides components that will allow you to "spend less time developing the same stuff and spend more time working on the actual program". Some of these components will literally be available in the next version of the C++ standard library.
Don't forget that there's nothing stopping you from building your own library when you develop components for your application that can be seen to have (with a small amount of effort to make them generic) usefulness across multiple projects. We've been doing this for years and have built up a comprehensive library of parts to plug into new applications or upgrade older applications with new functionality.
"It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong."
Richard P. Feynman