The importance of facing outwards: why dynamic languages can and should address the world
The directness and immediacy of dynamic languages underlie their enduring promise: as tools for modelling and interacting with the world, as means of building simple yet resilient systems, as tools for human thought, and as a medium that can unlock computers’ potential to work for human beings (rather than vice-versa).
Currently, however, dynamic languages are ‘popular’ only in the form of thin layers `trapped’ within much larger and and complex commodity software stacks, much of whose state is beyond the reach of those liberatingly direct modes of expression. A web application may use JavaScript but most of its state is not addressable as a JavaScript objects; a game may embed Lua but Lua code only reaches what is explicitly gatewayed into it; and so on.
I’ll review some open challenges in the implementation of dynamic languages which I believe must be solved if we are to fulfil the promise of dynamic languages as modes of expression widely available to human beings at large.
These include “unbundling” garbage collection (where dynamic resource management is not confined to the space managed by a single language runtime); federated approaches of object representation (where in extremis an implementation need have no ‘native’ object representation at all); enabling interaction with system objects symmetrically with in-memory objects; reclaiming the visual and direct-manipulation paradigms of interaction alongside the textual; and protocols for safely combining dynamic code with more “static” code that relies on ahead-of-time reasoning to enforce its invariants (e.g. Rust borrow checking, to pick a hard example!).
Tue 24 OctDisplayed time zone: Lisbon change
09:00 - 10:30 | |||
09:00 30mTalk | Is Polyglot Programming Really a Thing? DLS Walter Cazzola Università degli Studi di Milano | ||
09:30 30mTalk | The importance of facing outwards: why dynamic languages can and should address the world DLS Stephen Kell King's College London | ||
10:00 30mTalk | Going Static, Gradually: Semantic Soundness and Telling the Truth at Scale DLS Maxwell Heiber Meta |