3 ms·
I absolutely agree with your point that abstraction is a fundamental idea of computer science, but I believe it still falls more in the conceptual realm of comp
by primitivesuave 10y ago
I absolutely agree with your point that abstraction is a fundamental idea of computer science, but I believe it still falls more in the conceptual realm of computer science than in the practical realm of software engineering. For example, if I were to describe abstraction to a student, I may first get them to imagine building a factory assembly line. Instead of thinking about the assembly line as a whole, I would encourage them to think about each stage of the assembly line, and how to test each individual machine separately. By abstracting each step of the solution and making it easy to verify its correctness, they can achieve the minimum intellectual effort in testing the entire solution as you described.
Thank you for taking the time to add the EWD links, I'm sure others reading this thread will find them as enlightening as I do.