"In 1976, still back in the USSR, I got a very serious case of food poisoning from eating raw fish. While in the hospital, in the state of delirium, I suddenly realized that the ability to add numbers in parallel depends on the fact that addition is associative. (So, putting it simply, STL is the result of a bacterial infection.) In other words, I realized that a parallel reduction algorithm is associated with a semigroup structure type. That is the fundamental point: algorithms are defined on algebraic structures."
This has got to be one of the best outcomes of sickness in computing history!
I love STL, it's the major reason I stick with C++ rather than switching to Java et al. It is extremely well thought-out and most algorithms have clear complexity guarantees. I think it forms an example that libraries in other languages should strive for.
"[Java] might be successful - after all, MS DOS was - and it might be a profitable thing for all your readers to learn Java, but it has no intellectual value whatsoever."
I agree with your opinion about the STL it is indeed very well thought-out and very efficient. It is a shame that concept did not make it into C++0x[1] as it could had help STL usage by preventing the cryptic errors[2]
This has got to be one of the best outcomes of sickness in computing history!
I love STL, it's the major reason I stick with C++ rather than switching to Java et al. It is extremely well thought-out and most algorithms have clear complexity guarantees. I think it forms an example that libraries in other languages should strive for.