Programming Paradigms And Their Applicability
On one (theoretically correct, though practically unpleasing) level, all software is just comprised of loads, stores, mathematics, and jumps, so any application can be written using any tool that permits the correct ordering of those basic operations. A key theme running through this book though, is the idea of software's interpersonal nature, and here, we have a concrete example of that: the application source code as a source of mutual understanding between the programmers who work on it.
Before exploring that though, a little diversion into history, to make an idea explicit so that we can leave it behind. This is the idea of successive layers of abstraction allowing people to build on what came before. Yes, all software is built out of the basic operations described above but thinking about your problem in terms of the computer's operations is hard. Within a few years of stored-program computers being invented, EDSAC programmers created...