Skip to main content Skip to navigation

A Personal Perspective on 'Future Visions on Computing and Programming'

Meurig Beynon

Introduction

PROGRAMme is an international project, funded by the French National Research Agency (ANR) from 2018-2023, devoted to historical and philosophical perspectives on the question: What is a (computer) program? The premise on which the project is based, as set out in the project description, is that "this seemingly simple question, on a notion which lies at the heart of computer science, has no simple answer today, neither in academia nor in industry".

The PROGRAMme project members came from a wide variety of disciplines including computer science, history and philosophy. The penultimate project workshop, entitled Future visions on computing and programming then and now was held in June 2023. This text, written in the form of an informal letter to the organisers, can be viewed as an unofficial after-the-event 'position paper' on the agenda of the workshop from a perspective informed by research into Empirical Modelling (EM) in Computer Science at Warwick.

An Empirical Modelling perspective

Working in collaboration with my colleague Steve Russ in Computer Science at the University of Warwick over the last thirty plus years, I have been leading a research project (the "Empirical Modelling" project - see go.warwick.ac.uk/em) that aims to provide a coherent framework in which to understand computing in both its theoretical and practical aspects. Central to our research are practical principles for developing interactive (typically digital) artefacts for which we use the term 'construals' [EM114]. Making construals is a sense-making activity in which the key concepts are 'observables', 'dependency' and 'agency'. Making a construal addresses aspects of computer application that are conventionally associated with framing the context within which computation is to be carried out. In a typical computer application, these might include, for instance: configuring the computational components and peripherals in the computing environment; determining the scope and essential characteristics of the setting in which the application is deployed; establishing and specifying the software requirements. Since making construals is prior to what is traditionally formalised as Turing computation, its applications are not confined to activities that are purely rule-based in character: they embrace applications of a provisional, subjective, informal nature such as are represented in natural language understanding, the appreciation and creation of art and music, experimental science and engineering design.

By proposing an informal practice to complement the rule-based applications of computing for which formal logical foundations can be given, I am already treading into the territory that is mapped out in the preface to your PROGRAMme workshop. To 'complement' rule-based applications of computing is to challenge the perception that in principle all human intelligence can - and in due course will - be subsumed by rule-based applications of which contemporary large language models and the like are the precursors. My critical thoughts on this perception, which I reject as a misinterpretation of Turing's fundamental thinking about 'a mind following rules', are set out in [EM115]. Perhaps it may then seem that 'making construals' falls into another category you identify in your preface: an alternative programming practice that reflects "a blind belief in disruption and innovation". To counter such an interpretation, consider that the essential characteristics of 'programs' and 'construals' are categorically quite different. A 'construal' reflects 'how and why we think something appears to work or behave in the way it does'. Our construals are essentially personal, provisional and incomplete - they make no claim to being objective, definitive or comprehensive. Indeed, they are typically suited only to a specific context, as when a physicist might tell a child that 'an electrical current is somewhat like the flow of water through a pipe'. By contrast, a 'program' is a prescription for automated action that is guaranteed to achieve a specific outcome.

Promoting 'making construals' as an activity that is fundamental to the practice of computing-in-the-wild is in keeping with the spirit of your PROGRAMme Spring 2023 workshop: "The aim is ... not to critically reject or to optimistically accept [an alternative programming practice], but to break open one’s views to enable a re-programming of those very same [computer-based] technologies." In this context, the dominant role that the theory of computation plays in academic computer science is a major conceptual obstacle to 'breaking open one's views'. One of the most fundamental questions in computing is 'what is the status of those activities, associated with the practices of computing, that are not formalisable as a variety of Turing computation?'. Eminent computer scientists have taken very different positions on this question. Edsger Dijkstra, for instance, argued in favour of the universal adoption of precise and rigorous formal mathematical practices, deprecating all aspects of software practice based on informal so-called 'intuitive' techniques such as drawing diagrams in accordance with prescribed software development methodologies (cf. [EM121]). In contrast, Peter Naur, taking inspiration from William James's "Principles of Psychology" [WJ90], contended that 'intuition' was an essential aspect of software development that demanded an entirely different philosophical and semantic framework from what academic computer science traditionally frames as 'programming' (cf. [EM105]). In the light of this controversy, if we accept that 'making a construal' cannot be interpreted as 'writing a program' because of the categorical distinction between a construal and a program, what then is the status of 'making digital construals'?

In characterising a construal as an interactive 'artefact', we highlight the distinction between an abstractly specified 'computational device' and a construction that is to be directly observed and experienced live by a person. A program specifies a behaviour that effects a transition from one abstract state to another: input to output. A construal realises a state to be experienced live by the human agent (the "maker") - one with which the maker can interact with the aim of making a connection between the state of the construal and some external referent (e.g. a situation, phenomenon or object) that is the subject of a sense-making exercise. Depending upon the perspective of the human agent, sense-making will be directed at identifying: what features of the referent can be reliably observed; if, what and how these can be changed; what dependencies link a change in one observable with changes to other observables. An examination spreadsheet is an archetypal example of a digital construal where the human agents act in the roles of administrators setting up the pattern of observables and dependencies, lecturers introducing student marks, examiners reviewing and potentially adjusting marks, and students inspecting their marks. The principles behind making construals have far more wide-ranging application - they may be applied to: the teachers who design, the developers who implement and the students who use a piece of educational software; the agents who compose, perform, analyse and listen to a musical work; the experimental scientists who exchange artefacts with associated protocols for interaction to communicate their emerging understanding of a situation (cf. the way in which the philosopher of science David Gooding adopted the term 'construal' to characterise Michael Faraday's fundamental research on electromagnetism [EM114]).

By identifying a practice based on principles and concepts for making construals, our objective is to give a characterisation of sense-making activity for which a claim to universality can be made. It may be argued that the informal personal nature of sense-making discredits the idea that 'making construals' has a foundational role in a science of computing. But whilst it is clear that our capacity for 'making sense' can only be appreciated as a personal experience of connection (as when we know the meaning of a word, identify a familiar location from an image or recognise a prominent politician from a cartoon), there can be no doubting the authentic nature of such immediate connections-in-experience and the manner in which these can be acquired, transformed or even forgotten over time. Indeed, we contend that each person's connections-in-experience have fundamental significance in that 'being able to experience connections' is an auditable aspect of what they mean by 'knowing' (cf. [EM114]). This is in keeping with the key premise of William James's philosophical stance of 'radical empiricism' [WJ10, EM078] which maintains that all conception has to be somewhere rooted in empirically given connections-in-experience. As far as the role of 'making construals' is concerned, our thesis is that identifying the pattern of observables, dependencies and agency associated with a referent and constructing an artefact to mimic this is the core experimental activity that leads to establishing such connections-in-experience.

Making construals stands in a particularly thought-provoking relation to the contemporary controversy surrounding the status of large language models (LLMs). As explained by Rafael Alvarado (see [Alv23]), LLMs and the Chomskian notion of 'formal languages' that has played such a central role in theoretical computer science represent two quite different conceptions of language: the one based on 'language as grammar' and the other on 'language as discourse'. Reflection on these alternative conceptions in turn highlights two distinct epistemological stances: the one based on characterising language through 'useage' and the other through 'reference'. The patent limitation of the LLM approach where 'reference' is concerned, as spelt out by Alvarado [Alv23], is that the products of an LLM are divorced from direct experience. An LLM engages only with texts and not with those situated 'sense-making' activities by way of demonstration through which a human agent seeks to establish the truth status of propositions. And whilst a Chomskian outlook incorporates a semantic model that complements a formal grammar, giving scope to incorporate reference, the association between valid sentences and their meaning is only informally and indirectly connected with live experience (cf. Brian Cantwell-Smith's discussion of form and content in 'Two Lessons of Logic' [BCS87]). In Cantwell-Smith's terms: the semantics of a programming language addresses only the explicit state-changing actions of the computing device - and not the connections between these actions and meaningful states in the application: the 'semantics of the semantics' (cf. [Bey92]).

Both LLMs and Chomskian formalisms can be critiqued from the Jamesian 'radical empiricist' perspective that underpins making construals. Central to this critique are James's reservations about the power of language to express conjunctions-in-experience: "Suppose that each word names some discriminable item. Then by this rule, every conjunction and preposition in human speech is meaningless. The truth is that neither elements of fact nor meanings of words are separable as our words are." [WJ11]. From a Jamesian perspective, the interactive crafting of texts with plausible meaning from a vast language archive behind LLMs is based on an impoverished conception of empiricism from which conjunctions given in experience are absent. The unprecedented scale of the data set and data processing involved cannot compensate for the absence of such conjunctions, of which reference is but one example. And, since 'knowing' is rooted in directly apprehended connections between one experience and another, the products of LLMs cannot be more than superficially 'known' to the human agents who deploy them.

James's pragmaticist position on knowledge is also relevant to a Chomskian view of language. In a recent New York Times article on LLMs ('The False Promise of ChatGPT', cited by Alvarado) Chomsky expresses concern "because we fear that the most popular and fashionable strain of AI, machine learning, will degrade our science and debase our ethics by incorporating into our technology a fundamentally flawed conception of language and knowledge.". As explained by Alvarado, Chomsky is here indirectly alluding to his own thesis - proposed in the 1950s - which has been so influential in the study of formal languages: that there is 'a language generating mechanism in the human brain that is genetically deployed and universal'. For James, the fact that the theory of formal languages takes no account of conjunctions-in-experience such as are exemplified in linguistic reference would be grounds for deprecating such a theory. What is more, the merits of formal language theory from a Jamesian perspective would be assessed with reference to its practical implications and not accorded a privileged status on account of any claim to transcending individual perception that an innate 'language generating mechanism' might suggest. From this perspective, it is not the fact that a grammar provides a basis for generating well-formed texts that is significant - in this respect, it is no more effective than an LLM - it is the fact that, as Alvarado puts it when contrasting LLMs with grammars: "no grammar book with a trillion rules is a grammar ... a grammar is a finite set of intelligent rules that govern speech and writing". What makes Chomskian grammars significant is that they encode rules which can be apprehended by the human interpreter and can hence play a role in making construals (cf. the construal of parsing cited below).

Our identification of the distinctive practice of making construals as a complement to William James's radical empiricist philosophical outlook is arguably the most appropriate setting in which to conceive computing practices in their full generality. It is also a broader practice than can be characterised as a theory of 'computation' or 'computing' per se. This is in line with the conclusion reached by Brian Cantwell-Smith in his analysis of 'The Foundations of Computing' [BC02]: 'The considerable and impressive body of practice associated with [computers] amounts to nothing more nor less than the full-fledged social construction and development of intentional artefacts'. Our reflections on the experience of making construals endorse the idea of a broader practice. We have adopted the term 'construal' from David Gooding, who applied it to the artefacts that Michael Faraday used in communicating his experimental insights and in that respect potentially represents a practice that predates the computer and its associated technologies [EM114]. We have also identified characteristics of making construals that accord with the principles of 'constructivism' as critiqued and clarified by Latour [BL06, EM100]. Justifying the claims implicit in invoking the work of James, Faraday and Latour in connection with our practice of making construals is bound up with the hypothesis set out above that crafting patterns of observables, dependency and agency to mimic those encountered in a referent is the essence of human sense-making.

The need for a broader vision of computing practice than the theory of computation alone affords is evident from the challenges that sofware development continues to face despite the enormous resources and attention that have been devoted to the topic over the last half-century (cf. [EM121]). One of the obfuscating factors in promoting making construals as something other than 'an alternative programming practice' is the fact that many of the features of making construals, such as support for dependency, agile development strategies, blending of developer and user roles, and model-based strategies) have counterparts in contemporary software practice. From a historical perspective in which academic computing has consolidated around a core vision inspired by programming and broader rule-based conceptions of AI, it is unsurprising that critics are reluctant to accept the idea that making construals is an independent ontologically distinct practice that cannot be subsumed into some generalised concept of programming. Paradoxically, the key to making the distinctive qualities of making construals more apparent - and motivating wider adoption - lies with focusing on applications that are small enough to be within the scope of direct human apprehension: in that way exposing the extraordinary subtlety and hidden complexity of our apparently common reality as viewed from a radical empiricist perspective. To adopt such a focus means to resist the natural temptation in a world that looks to computing and AI for large-scale applications that astonish us by their use of technology of unprecedented power and data sets of unprecedented size and complexity.

A brief summary of the history and current status of our work on making construals

A critical aspect of our project has been the development of computing environments well-suited to supporting the maker. Two main instruments have been principally used:

- the EDEN interpreter

This is a desktop application developed by computer science students at Warwick: it was design and implemented by Edward Yung in 1986 and subsequently extended and deployed by many hundreds of students in connection with modules on the theme of Empirical Modelling over the period 1992-2014.

- the Construit environment

This is an online interpreter that was originally conceived as a Javascript implementation of the EDEN interpreter by Tim Monks in 2011 and subsequently refined and radically extended by Nicholas Pope, Jonathan Foss and Elizabeth Hudnott in connection with the EU Erasmus+ CONSTRUIT! project between 2014-17.

Empirical Modelling research (see go.warwick.ac.uk/em) originated from the study of 'definition-based ("definitive") notations' that were designed with specific kinds of observation in mind (e.g. DoNaLD for line-drawing, Scout for screen-layout and EDDI for relational database tables). A definitive notation would typically be deployed by someone with specialist knowledge of one aspect of an application in crafting an interface framed in terms of spreadsheet-like dependencies. The EDEN interpreter enables scripts in different definitive notations - even 'maker-defined' - to be blended and used to create environments in which diverse agent interactions could be realised concurrently. From 1992-1997, in conjunction with an MSc course on parallelism and concurrency in software applications, EDEN was used to animate agents interacting concurrently in a way that generalised the use of techniques such as statecharts. The environment was in effect used to blend construals of the various agents engaged in concurrent action, as when making sense of possible system behaviours. The analysis and simulation of historic railway accidents proved to be a particularly instructive application (cf. [EM053]).

Over the period 1992-2010, the Empirical Modelling benefited from the contributions of graduate students who explored potential applications including geometric modelling and engineering design; software development especially in exploratory, creative, participative and distributed aspects; decision-support [EM061, EM058]; financial modelling; and educational technology (see go.warwick.ac.uk/em/publication/phd). Undergraduate teaching resources developed during this period included a relational database interpreter ("EDDI") which implemented relational algebra in a mathematically sound way and could also be used to demonstrate the logical and design flaws enshrined in the standard SQL realisations [EM079]. Other topics addressed included: experimental science [EM110]; history of mathematics; and humanities computing [EM082], with particular reference to music [EM112].

By 2010, EM research at Warwick had diverged from mainstream computer science research to a point where it was no longer deemed to be comfortably within the scope of the UK Research Assessment Exercise. The 'Introduction to EM' module, taught as a 4th year undergraduate / masters optional module from 2004, was withdrawn in 2014. The precise content of the module evolved in response to topical EM projects and publications and the final version of the module in 2013-14 was devoted to the theme of 'EM for Software Development' (see go.warwick.ac.uk/em/teaching/cs405/). Without the maintenance support that accompanied teaching, neither the EDEN interpreter nor the extensive public archive of projects associated with it is readily available, in part as a result of changes to data protection regulations.

The prospects for deploying making construals in computer science education in schools was the primary focus of the EU Erasmus+ CONSTRUIT! project from 2014-17 (see [EM137]). Paradoxically, parallel initiatives to promote the adoption of computer science in schools - particularly vigorously pursued during this period and focused on introducing traditional computer science content, often by re-training teachers - did not make it easier to realise the aspirations for CONSTRUIT!. The Construit interpreter and its associated archive (which disproportionately reflects the orientation towards school-teaching) is the most accessible current vehicle for gaining experience of the principles and practice of making construals. Construit differs from its precursor, the EDEN interpreter: it dispenses with the portfolio of built-in special-purpose definitive notations and deprecates the use of procedure ('proc') and function ('func') constructs that in EDEN are typically defined in a conventional (albeit simple) procedural style. Construit is instead based on a monolithic definitive notation that draws on Javascript types and operations and exploits a new ("with") scoping construct to fulfil the roles of the hybrid special-purpose notation and procedural proc-func constructs (see [EM135]). The equivalent - indeed superior - expressive power that can be recruited in this way is illustrated by the use of Construit to construe parsing and thereby implement a parser for the EDDI definitive notation (see the links to the relevant construals in the References below). It is nevertheless unclear whether the fact that, relative to EDEN scripts, Construit scripts use a much cleaner and leaner repertoire of concepts offers a decisive conceptual advantage. In point of fact, in keeping with the spirit of radical empiricism (consider William James's characterisation of the 'World of Pure Experience' in [WJ10, p46-47]), making construals is an activity in which all manner of elements of experience are typically combined in a highly personal and often loosely structured fashion. In that respect, there are advantages in the use of commonly understood elements such as familiar definitive notations and constructs despite the flavour of messy bricolage that comes along with it.

Looking to the future, it is to be hoped that the expertise and experience in making construals that has been developed in the course of the Empirical Modelling project will have a useful role to play in framing and realising a new vision for computing. It is important to recognise that the achievements of the project are not best documented through the archive of publications but through the construals that have been developed. A parallel may be drawn with the performing arts, where drama or music survives through imaginative re-creation and live communication to an audience. Persistence - and fruitful reinvention - in a context where many fashionable research topics have come and gone has been a feature of the EM project to date: the current vogue for LLMs may offer the next opportunity for making construals to establish itself in computing education and bring new light to bear on the vexing issues that surround the notion of truth and fakery in the contemporary digital world.

References

[Alv23] Rafael Alvarado 'Situating Large Language Models' (video talk) University of Virginia School of Data Science, 11th April 2023
[BCS87] Brian Cantwell-Smith, Two Lessons of Logic, Comput. Intell. 3, 1987, 214-218
[BCS02] Brian Cantwell-Smith, The Foundations of Computing, 2002
[Bey92] W.M.Beynon, Programming Principles for the Semantics of the Semantics of Programs, 1992
[BL06] Bruno Latour, The Promises of Constructivism, 2006
[WJ90] William James, The Principles of Psychology, 1890
[WJ10] William James, Essays in Radical Empiricism, 1910
[WJ11] William James, Some Problems in Philosophy, 1911

Papers from the EM archive

[Accessed via go.warwick.ac.uk/em/publications/papers/XYZ where XYZ is a 3-digit code listed below]

053 - Computer-mediated communication: a Distributed Empirical Modelling perspective
058 - The Temposcope: a Computer Instrument for the Idealist Timetabler
061 - A New Paradigm for Computer-Based Decision Support
078 - Radical Empiricism, Empirical Modelling and the nature of knowing
079 - A computer-based environment for the study of relational query languages
082 - Human Computing: Modelling with Meaning
087 - Rethinking Programming
096 - Computing technology for learning - in need of a radical new conception
100 - Lifelong Learning, Empirical Modelling and the Promises of Constructivism
105 - Intuition in Software Development Revisited
112 - From Formalism to Experience: A Jamesian Perspective on Music, Computing, and Consciousness
114 - Modelling with experience: construal and construction for software
115 - Turing's approach to modelling states of mind
121 - Realising Software Development as a Lived Experience
135 - Whither with 'with'? – new prospects for programming
137 - Reconstructing Constructionism by Construal

The most recent version of the online Construit environment can be found at the url:

https://jseden.dcs.warwick.ac.uk/latest-master

For a construal of parsing, see: https://jseden.dcs.warwick.ac.uk/latest-master/?load=570
For an implementation of the EDDI interpreter, see: https://jseden.dcs.warwick.ac.uk/latest-master/?load=567