After several years’ involvement with quickly evolving programming languages, I’ve come to appreciate stability. I’d like to make my programs easy to build on a wide variety of systems with minimal adjustment. I’d like them to keep working long into the future as environments change. To think about stability more clearly, let’s divide a functioning program into its layers. Then we can examine development choices one layer at a time. concentric circles of program resourcesThe more fe...