Posted Apr 20, 2012 5:19 UTC (Fri) by jzbiciak
(✭ supporter ✭
In reply to: Not Again
Parent article: PHP: a fractal of bad design (fuzzy notepad)
Here, go read the doc: www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
Here's my understanding, such that it is:
- Implementation defined: We expect implementations to pick a behavior, tell the user about it, and stick to it. It's something you can rely on, but only in that implementation. Example: whether unadorned char is signed or unsigned.
- Undefined: Here lie demons. An implementation is entirely within its rights to call system("nethack") or something else equally capricious when it sees one of these. Example: void main(void).
- Unspecified: The environment must behave "reasonably", as in, it's not allowed to reformat your hard drive. But, it doesn't have to document its choices, and it can behave differently compile-to-compile. It can do whatever is convenient with best effort. Example: f() + g() Which gets called first?
to post comments)