There are actually 3 categories:
- Implementation Defined: the implementation (compiler, standard library, execution environment) has to document what happens. Code relying on this is not portable.
- Unspecified: the implementation can choose to do what makes sense, and not tell you. Even reverse-engineering and relying on what you found out, is unreliable. The actual address returned by malloc is unspecified; is it aligned? Does it always grow in value if nothing was free-ed? You shouldn't even care about this detail, so the standard leaves it unspecified.
- Undefined Behaviour: you wrote something that doesn't make sense, if you get lucky the compiler/standard library/operating system will react in a sensible way, but the standard says it's not the implementation's fault you get something wrong as a result. Things like reading variables before initializing them.
Diagnosing UB can be too demanding from the implementation, so the standard doesn't even require it. How would you diagnose incorrect usage of realloc? Add run-time checks? Write a special rule in the compiler so it knows about realloc? Extend the language with metadata? What if realloc is hidden behind a user-defined function? At some point you have to stop, otherwise you could even solve the halting problem.
Good troll, sir. Try removing everything except
The gpuocelot project has been able to run CUDA in non-NVIDIA hardware for some time now, including x86 CPUs and AMD GPUs.
Too bad the CUDA compiler often segfaults on ordinary C++ libraries even when they are host-only (in which case nvcc is supposed to just forward it to GCC). Hopefully the LLVM-based compiler for OpenCL 2.0 won't be as buggy.
This. If it's your job to go and fix his mess, do it without complaining. And document all the effort you put into it, to avoid being labeled as someone that just rewrites code without adding anything.
If you are not responsible for cleaning after the senior, then don't do it, let it all rot until somebody (your boss, or even your colleague) makes the decision it's time to clean the mess.
Oh, I just looked up his info, the guys is a lawyer, so he's fully aware of the contradiction. He's either trolling or utterly incompetent in copyright law.
No, if there is no license, nobody is allowed to make use of the software. Look up what the word "license" means. Copyright laws assume that every creative work is fully protected unless explicitly stated otherwise.
In a world without copyright laws that would be feasible. But we don't, and it isn't. Commit code with no license and legally nobody is allowed to distribute your software. No company will ever willingly use your code, even if it does something unique and useful.
Grow up you hippie and accept that you have to learn something about laws before you interact with society.
ODE only does rigid body dynamics, no force fields. The guy just need a basic game dev tutorial on force integration.