One of the hardest notions to define in programming is the variable and the related
command of assignment. In our opinion, it is exactly these difficulties that are responsible
for the reluctance towards programming. The reason for this, according to us and others
[7], is the multifunctional nature of the variable: it can be used for various purposes.
Its concept “in our heads” and in the programming languages is markedly different
in this respect.