In fact, no better (worse?) example of academic vs self-taught can be found in things like the Java/.Net libraries.
For example, why does something like String.Substring() throw an exception if the parameters are not part of the string? If I cared about that this condition, I'd check it beforehand, not have to deal with it in an exception handler. The functions can easily have been set up to produce reliable results if the parameters were wrong (returning an empty string, returning the rest of the string from the start index, etc). The .Net version is even worse, if the length is beyond the end of the string, just return the remainder of the string, don't throw an exception, if I really cared, I'd do a check beforehand.
Basically, university vs self-taught is not the issue, but individual abilities are. Having a university degree is no guarantee that the person knows anything at all about programming in the real world.
|