This paper is addressed primarily to practising programmers, and only secondarily to language designers, compiler writers and machine designers. It has two purposes: * To bring some of the concepts of primitive (indivisible) data-types to the attention of the industry-at-large showing how our understanding of the fundamental processes and objects of programming is gradually improving, with some insights of my own, and * To emphasize that programmers ought to think in terms of well-structured concepts, and that when and if one of the less attractive and archaic computing languages has to be used, then it is better to translate thoughts into the concrete forms required leaving plenty of traces of the original intentions. In other words, do not write in a language; think and then code into it.