On the Beauty of Language Spreadsheet Modelling Paradigm: Expressiveness with Usability

Publication Type:
Thesis
Issue Date:
2023
Full metadata record
Linguistics and anthropology tell us that pre-literate and literate societies are fundamentally different. Society transforming tools and technologies like literacy are one-way gates. These transitions can be thought of as culture learning or the evolution of culture. Generally, these transitions have happened organically, with very little explicit design, leading to tensions between culture and nature. Arguably, society is in the early stages of another transformation driven by the discovery of computability. This transformation can be viewed as a transition to a computationally literate society. The current form of computational literacy is programming languages. The current theories, techniques and tools used for programming language design are insufficient to enable explicit designs to ameliorate tensions between culture and nature. The aim of the research is to demonstrate methodologies and develop theories to aid in the design of computational media. This work has two complementary objectives. An engineering approach evolving the spreadsheet modelling paradigm, and a scientific approach to building theories for the field of programmer experience design. The engineering approach is metaphorically to evolve the spreadsheet via guided evolution, to overcome the false dichotomy between a gentle learning curve and limited expressiveness (ceiling height). This is achieved via an explicit application of linguistic abstraction, capturing common behaviours of expert spreadsheet modellers as language features, making expertise emergent. Based on the affordances provided by the discovered features the "new strain of spreadsheet" is further evolved to solve a Motivating Example. This resulted in an emergent feature named the Atticus operator. In order to address another identified opportunity in the paradigm, the Atticus operator was exaptated (a mechanism of evolution) to bring lookup functionality into syntax. A step in the scientific approach is a move back to positioning computational environments as programming systems, as opposed to the current programming language perspective. This puts the formal grammar hierarchy at the centre of a theory for programmer experience design, named the Co-evolution of Cognition and Computation (C3) model. The key finding of which is computational literacy benefits from a focus on using multiple loosely coupled languages from across the expressiveness range, as opposed to the current situation where most programming is done at inappropriate levels, with Turing-complete languages being the default. This research attacks the problem of moving the area of user-centered design of programming languages from its current pre-scientific state to that of a more scientifically valid research program.
Please use this identifier to cite or link to this item: