User:CompuHacker/CHDS9000
The DeathStation 9000 (often abbreviated DS9K) is a hypothetical computer architecture often used as part of a discussion about the portability of computer code (often C code). It is imagined to be as obstructive and unhelpful as possible, whilst still conforming to any relevant standards, deliberately acting unexpectedly whenever possible. For instance, the strcmp
function in C compares strings and indicates the string that comes first alphabetically under most systems; however, this is not guaranteed by the C99 standard, and on a C99-conforming DS9K it would do little more useful than a check whether strings are equal or not (because it sorts strings by character code, and nothing compels a DS9K's character codes to be in alphabetical order, though digits are required to be in order).
A common, more dramatic example concerns undefined behavior, which is allowed to have any effect. With many C compilers, the statement i = i++;
where i
is an integer variable will either increment i
or leave i
with the same value when run (the behavior is undefined). On a DS9K, it is possible (even probable) that executing that statement will cause demons to fly out of the user's nose.[1]
The DS9K is a concept that seems to have developed on Usenet, specifically on the groups comp.lang.c and (to a lesser extent) comp.lang.c++ and comp.std.c.
A website about the DS9K was created, probably as an April Fool's Day joke.[2]
DeathStation 9000 or DS9K is sometimes also used as an adjective, as in "a DS9K endianness", meaning an endianness which is neither big-endian nor little-endian, like the American date format MM/DD/YYYY.
Implementations
[edit]DS9K: The destroyer of worlds (Open-source, C interpreter/debugger)
References
[edit]- ^ Nasal demons in the Jargon file
- ^ Armed Response Technologies, the DS9K website