Basically functions are not abstractions, the data structures that functions act on are the real abstractions. Because the data structures have been planned out in a particular way, functions can manipulate them as if they were manipulating concrete entities in the business domain. Here's a bunch of relevant quotes talking about that idea (credits to
https://medium.com/webdevops/data-structures-548cbea9c520)
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
- Linus Torvalds
"Fold knowledge into data, so program logic can be stupid and robust."
- Eric S. Raymond
"Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming."
- Rob Pike
"Representation is the Essence of Programming"
- Fred Brooks
"One of the key attributes of a "Good" representation, is the ease in which it is transformed into other valid information the computer can process."
- https://www.cs.utah.edu/~germain/PPS/Topics/information_repr...
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
- Linus Torvalds
"Fold knowledge into data, so program logic can be stupid and robust."
- Eric S. Raymond
"Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming."
- Rob Pike
"Representation is the Essence of Programming"
- Fred Brooks
"One of the key attributes of a "Good" representation, is the ease in which it is transformed into other valid information the computer can process."
- https://www.cs.utah.edu/~germain/PPS/Topics/information_repr...