The recent mention
of the Nile programming language reminded me to post about the STEPS 2011 Progress Report
The overall goal of STEPS is to make a working model of as much personal computing phenomena and
user experience as possible in a very small number of lines of code (and using only our code). Our total
lines of codeâ€‘count target for the entire system â€œfrom endâ€‘user down to the metalâ€ is 20,000, whichâ€”if we
can do a lot within this limitâ€”we think will be a very useful model and substantiate one part of our
thesis: that systems which use millions to hundreds of millions of lines of code to do comparable things
are much larger than they need to be.
Our general approach is to pick an area whose parts seem to be relatedâ€”for example: 2.5D antiâ€‘aliased
alphaed computer graphicsâ€”try to find the mathematical relations that cover the desired phenomena,
design a â€œproblem oriented languageâ€ (POL) that is a â€œrunnable mathâ€ version of the mathematics,
implement that language, then use it to write the program code for the target area.
STEPS is now to the point where it is more fun to use and demonstrate than to talk and write about.
Quite a bit of the original proposal is now working well enough to give all our presentations and write
this entire report for the NSF and Viewpoints Research Institute websites. In the STEPS system, this
document is live: the examples are actually runnable demos; the code shown is changeable and testable,
A large part of the work over the last year has gone into making the test versions more real and usable.
Previous discussion of this project on LtU includes: