"I wanted to separate data from programs, because data and instructions are very different"
About this Quote
The intent is engineering clarity with a moral edge. Thompson is insisting that software should make its own power legible. When code and data blur, you get programs that are harder to reason about, harder to secure, and easier to accidentally weaponize. The subtext, especially in the Unix/C lineage, is that simplicity is not aesthetic minimalism; it’s a strategy for survival at scale. Separate the nouns from the verbs and you get systems that can be composed, tested, swapped, and debugged without mystical side effects.
Context matters: Thompson’s era was one of tight memory, shared machines, and growing complexity. The separation he’s pointing to anticipates entire architectural doctrines: code/data segmentation, executable permissions, the Unix philosophy of plain-text interfaces, even today’s sandboxing and “data-only” formats designed to resist code injection. It’s an argument against cleverness as a default. Computers will happily execute whatever looks executable; Thompson is arguing we shouldn’t.
Quote Details
| Topic | Coding & Programming |
|---|---|
| Source | Verified source: Computer: Unix and beyond, An interview with Ken Thompson (Ken Thompson, 1999)
Evidence: I wanted to separate data from programs, because data and instructions are very different.. This line appears in the interview transcript hosted by Princeton (CS333 course archive) of the IEEE Computer magazine interview commonly titled “Unix and beyond: An interview with Ken Thompson” (May 1999). I also found a Nokia Bell Labs publications page that identifies the piece and date (01 May 1999) and links to the DOI/IEEE record, but the IEEE Xplore page could not be opened from my current browsing tool due to a safety/redirect restriction, and the Princeton page could not be re-opened in full due to a tool decoding error, however the snippet captured in search results includes the exact sentence. If you need the *first publication* with page numbers, it should be verified directly in the original IEEE Computer issue/PDF on IEEE Xplore (DOI: 10.1109/MC.1999.762801) or a library scan of the May 1999 issue. Other candidates (1) Introduzione ai sistemi real time (GianLuca DeMichelis, 2012) compilation95.0% ... I wanted to separate data from programs , because data and instructions are very different . Ken Thompson I proce... |
| Cite |
Citation Formats
APA Style (7th ed.)
Thompson, Ken. (2026, February 10). I wanted to separate data from programs, because data and instructions are very different. FixQuotes. https://fixquotes.com/quotes/i-wanted-to-separate-data-from-programs-because-99185/
Chicago Style
Thompson, Ken. "I wanted to separate data from programs, because data and instructions are very different." FixQuotes. February 10, 2026. https://fixquotes.com/quotes/i-wanted-to-separate-data-from-programs-because-99185/.
MLA Style (9th ed.)
"I wanted to separate data from programs, because data and instructions are very different." FixQuotes, 10 Feb. 2026, https://fixquotes.com/quotes/i-wanted-to-separate-data-from-programs-because-99185/. Accessed 12 Feb. 2026.




