Step 4: Ursa, a classical language
Ursa is a “classical” language. That is to say, it embodies ideas from the main stream of programming language development from the earliest days, even before computers, of the 1930s, to about the turn of the 21st century. It should look familiar to anyone who has learned to program between 1970 and 2020. It is intended to remain familiar to programmers for at least as long: for the next 50 to 100 years, humans using programming languages should find Ursa straightforward, if increasingly old-fashioned.
Some computer languages have been around for 50 years or more already, and most of those have changed considerably over time. Ursa is designed not to change. If you write a program in Ursa today, still work on Ursa systems in 50 years’ time. But also conversely, a program written in 50 years’ time should run on an Ursa system of today. What’s the good of that? It’s that Ursa is meant to be an archival language.
Consider a language such as C, invented in the early 1970s. In the last 20 years, old C code stopped working, or at least working well, on modern C systems. Now, to be on the safe side, your code should be written in a dialect dating from 1989, at least.
With Ursa, this will not be necessary. Also, the language will not become more complicated with time, as most long-lived languages do, in order to retain backwards compatibility.
The disadvantage is that Ursa will not evolve to cope with programs and computers of the future. That’s OK; there will be new languages for that!
For more about Ursa’s design, see the rationale.