Scientific Computing: A Historical Perspective