In CS you build abstractions on top of binary data and binary data operations. Who says I can&#x27;t build abstractions on top of wood or clay? What is the true nature of an &quot;abstraction&quot;? What is a computer?<p>We try to create this machine that does things that exist only in the virtual world. Abstract operations and abstract data are the primitives or so it seems. The problem is these constructs are limited. We cannot have an unlimited amount of data nor can we have an unlimited amount of computing speed.<p>Why is this supposedly purely virtual abstraction limited? Because nothing can be purely virtual. Abstract data and procedure are both in itself abstractions on top of physical objects that are limited by the laws of the physical world (aka the laws of physics). There is a deeper physical primitive that exists underneath this abstraction we call information. Every virtual bit in a computer is an abstraction on top of this physical primitive.<p>What is this primitive?: silicon, aka Clay (SiO2).<p>So in short, if computers are artistic clay sculptures, then programmers are working with clay. Thus every time you program you are doing &quot;arts and crafts.&quot; Programmers are both artists and craftsmen, the terms are one and the same.