Structural Defects in the Software Ecosystem
There are deep-running problems in the way current software systems are structured. Perhaps the most visible symptom is an unacceptably high barrier to creativity (programming). To produce anything significant, redundant structures must be rebuilt from absurdly low levels of abstraction. Thus what may seem conceptually trivial often requires a tedious exercise in implementation, prone to human error. This is because our abstractions don't faithfully reflect the concepts they are meant to represent, which in turn is due to an unfortunate shortsightedness in seeing computers ultimately as machines for mutating state in a desirable way, instead of as a medium for expressing mathematical ideas. This talk will attempt to illuminate some of these largely unaddressed fundamental issues in computer science, and introduce some of the theoretical and design work being done that may point the way to solving them.