Half a century of programming and not much progress
This paper presents a somewhat gloomy view of the progress of mankind in devising
programming languages during the past half century. The paper is in two parts. This
first part presents two overall themes. The first theme concerns the use of best
practice in reducing risk and possible legal liability in the face of disasters arising
from malfunctioning software. John Barnes asserts that little is known about what
constitutes best practice and that what is known is not used in constructing the vast
majority of software anyway. The second theme concerns the evolutionary use of
abstraction in controlling complexity and its underlying flavour in the progress that
has been made. The second part (in the next issue of Software Focus) continues with a
summary of a few programming languages that the author has used and generally concludes
that their design has been a series of missed opportunities. The paper concludes,
however, with a glimmer of hope that, in one small corner of England, something good is
emerging.
Why testing software under expected operational profiles is not sufficient
Knowing how reliable software is when it is operating under unusual circumstances poses
a problem of uncertainty. Jeffrey Voas sheds some light on the issue of dealing with
data that has been corrupted before entering the software.