The Most Expensive One-Byte Mistake. - KAMP, POUL-HENNING (Communications of the ACM, 2011)
The article addresses the question of what ought to count as the most expensive mistake in the history of information technology and computer science. An argument is presented that it should be the use of NUL-terminated text strings in the C program language, Unix operating system and Posix software standard. The decision to use NUL-terminated strings, rather than representing strings as an address plus length tuple, was made by computer scientists Ken Thompson, Dennis Ritchie, and Brian Kernighan in the early 1970s. The article notes that this was not considered to be a mistake for at least 15 years afterward.