Abstraction, the Basis of Computing (Part 1)
The word “abstraction” has many applications in the realm of computer science and software engineering. One immediate sort of abstraction you might think of is the graphical design of user interfaces on computers and other devices. The earliest trends in graphical user interface design embraced a skeuomorphic language of visual (and verbal!) metaphor, where actions or objects on the computer were represented as real world things. For example, the desktop metaphor interprets the computer screen as a literal desktop where you store and access files. The copy/cut/paste functions evoke the literal actions of cutting paper and pasting it onto something else, and so they were represented as such in name and in visual representation. The most common 'save' icon is a picture of a floppy disk. Above are some icons that were used on old Macintosh computers in the eighties and nineties, by seminal graphic designer Susan Kare [1]. Each icon is a metaphor mapping a digital fu