3 ms·
> A data structure is just a stupid programming language. > — R. Wm. Gosper What's this supposed to mean?
by gnulinux 8y ago
> A data structure is just a stupid programming language.
> — R. Wm. Gosper
What's this supposed to mean?
- sudo_rm 8y agoI think this has to do with the fact that things like XML are not Turing complete, even though it is a language in its own right.
- JadeNB 8y agoOne interpretation: I think there's a dictum (due to Dijkstra, maybe?) that says something like programming = data structures + algorithms. If you remove the 'algorithms' part, then you're left with data structures on the right, and, presumably, an impoverished programming language on the left.
- samatman 8y agoAlgorithms + Data Structures = Programs is a book by Niklaus Wirth.
- JadeNB 8y agoThanks! Wirth was going to be my second guess. For some reason, possibly because I had the order switched (or because the '+' itself, rather than just the words, is key to the phrase), I couldn't find the phrase by Googling.
- derefr 8y agoOne thing it brings to mind is this old argument: a configuration language is just a scripting language where you can't do anything useful to decrease repetition. (Or: Lisp programs don't contain config parsers.) Instead of a "stupid" fixed set of declarative configuration options, just expose your program's high level abstractions as a set of macros and functions, and then let the user "configure" the program by just... writing a program, which uses those high-level macros and functions to do what they want.
- theoh 8y agoIt means that a data structure is an object which supports a very limited range of algebraic operations. E.g. for a stack, you just have push and pop. That's the whole set of actions for that data structure. You could argue that it constitutes a tiny self-contained language within any host language that supports the data structure.