Personal computing means providing millions of people with
the option to work hands-on, without any intermediary, with the data processing
instrument itself. It also turned out that separate, ‘heretical episodes’
carried out by non- professional programmers using personal computer consoles
resulted in the creation of a useful applications in those branches of the
applied sciences that did not have a fund of formalized knowledge. With PC
proliferation, such episodes were becoming increasingly more common and have
recently gone into something resembling mass production. In this context, the
first and thickest layer of professional knowledge turns out to be ‘assailable’
by a person armed with a computer. Naturally, there are no miracles at work, and
a specialist, as always, can only make sense of his or her own area of expertise
within this layer. But quite often, upon leaving this area he or she would have
created a serviceable program.
The means of creating such programs is quite similar to the
process of creating other ‘products’ in other fields of production, where the
craftsmanship of the user does not depend much on his or her level of mastery of
formal methods. According to the Italian scientist Giuseppe Atardi, the work of
a non-professional programmer using a PC is characterized first of all by “the
priority of action over plan". In essence, the usual work of a professional
programmer calls for multilevel planning and for correspondingly strict
conditions for ‘plan implementation’.
The process of recording previously formalized
professional knowledge in a form suitable for directly influencing the
operation of machinery was called ‘computer programming’.
However, most non-professional programmers generally do not
even try to explain (even to themselves!) how the working process at the PC
console is coming along, as explaining how dozens of debugged and rejected
versions have finally given way to a satisfactory version of the program,
meeting self-contradictory production criteria is a task too daunting by far.
The principal distinction of a computer program from any other similarly-created
product is the fact that the dynamic function of a system or a set of
automatically-controlled production units can be unambiguously determined by the
‘static’ source code of the program.
No matter what method is used to develop a program, if
its use brings about the more efficient functioning of production equipment in
the long run, then this means that besides improving production at a given
workstation we have achieved an important side effect—a formalized description
of a technical solution. It is evident that such by-products of program
development may sometimes prove considerably more valuable than whatever gains
in production efficiency that computerization brings.
Thus, besides a new computerized product that makes
equipment and facilities run more efficiently, the most important result of
personal computing is a formalized piece of what was once information
inaccessible to formalization, from the ‘lower layers’ of individual knowledge
on the aforementioned pyramid, now transferred to a machine-readable medium and
ready for circulation. Such a program created by a non-professional programmers
can later be used at one or more workstations located not far from one another
or, depending on its value, it can serve as a template for another, functionally
equivalent program that can be made to order by a team of professional
programmers. For instance, this might be useful when enhancing the efficiency of
the program in respect to computer resources prior to its distribution.
Professional knowledge formalization, exercised in the
personal computing mode, is a historically new form of intellectual activity. That is why we deemed it expedient to employ a special term —autoformalization— to
describe the objects of our research pertaining to this process.
"Autoformalisation - Knowledge acquisition of professional skills" by Gregory Gromov,
Microprocessor Devices & Systems, Moscow, 1986, N 3, p.80--91, Chapter 5
Copyright © 1986-2011 Gregory Gromov