1) in the real world 40% is not a pass
Not at my school either, typically 50% is a pass, and you need an average of 65+ in required courses to stay in the program.
2) why don't many school even mention source code control?
Because it's unnecessary for the small projects you do in school and is orthogonal to the concepts they're teaching you typically. Also, it's very easy to pick up on your own.
3) error handling is not an exercise left to the reader, it needs to be structured, organised, and it really helps if you know what you are trying to achieve with the error handling.
The disk cache is part of the OS, not the application. If an application loads some images from your HDD it's the OS that decides to cache them in memory, independent of anything your app does with them. Because disk caching is transparent to the app, the OS can free cache whenever it wants to.
Of course, historically IE would be a special case, as it was so tightly tied to the OS that the normal rules of transparent OS services didn't apply. Anyone know if this is still true?
So our Macs are vulnerable to a critical XYZ bug, and I see these were already fixed 3 weeks ago on all the Windows
About that 17 year old bug...
just wait until some amateur gets a hold of the code, runs it, and claims that all global warming data is questionable because this model has a bug or produces weird output
The onus is on the researcher to demonstrate/argue that for the inputs given the code produces meaningful results. If you don't like that then stop doing research with computations? Idiots can always misrepresent you, no matter how you publish. Most of us understand that simulations are limited.
Second, it will waste the researchers time releasing the code and then responding to questions when people are like "lolz this code blows"
What makes you think that there will be more people trying out that code and not understanding it, than currently there are people reading the paper and not understanding it? Personally I'm not going to waste my spare time downloading complex simulations that I know nothing about and try to invalidate them.
That being said, it should definitely be available as a part of the peer review process if something is really called into question.
So make it available and reference it in your paper. No one's asking you to tell everyone on the planet about it.
If I find code that will cause heap corruption in your code (e.g. you wrote past the end of an array in C), then there is a bug in that code whether you do fluid simulations, or make 3D games. I worked as an undergraduate RA under some guys doing ocean modelling, and found several small bugs before I had the foggiest idea what most of the code was meant to do. Yes there will be many problems someone without your background can't find in your model, but that is not an argument for closed source science.
A more important concern is that someone else who does have your background should have access to your code. That would be part of "peer review". Otherwise they're taking your computations on faith, with no way to reproduce.
Dynamically binding, you realize the magic. Statically binding, you see only the hierarchy.