Dit boek heeft niet alleen als doel om je Python te leren, maar ook om je te leren denken als een programmeur, omdat denken als een programmeur noodzakelijk is om te begrijpen waarvoor je computers kunt gebruiken en hoe je ze moet gebruiken. Maar wat betekent het om te “denken als een programmeur”? Ik zal die vraag beantwoorden door hem te illustreren met een taak:
Stel je voor dat je een stapel kaarten hebt, en op iedere kaart staat een verschillend getal geschreven. Je moet deze kaarten sorteren van laag naar hoog, met het laagste getal bovenop. De meeste mensen kunnen die taak uitvoeren. Voor de meeste mensen geldt ook dat als je ze vraagt hoe ze de taak uitvoeren, ze je vragend aan zullen kijken en zeggen: “Eh…, ik sorteer ze van laag naar hoog… wat bedoel je met hoe ik dat doe?” Anderen zullen zeggen: “Ik zoek eerst de hoogste kaart en die leg ik onderop. Dan zoek ik de op-een-na-hoogste en die leg ik erbovenop. Enzovoorts.” Dit legt min of meer uit hoe ze het doen, maar als je dan vraagt: “Maar hoe vind je de hoogste kaart?” zullen ze je ook vragend aankijken.