2014-12-27

Chris Granger`programming with Light Table

5.12: news.addx/Chris Granger`programming with Light Table:
chris-granger.com 2014/03:
. the important part of a spreadsheet program
is that it avoids incidental complexity:
if you understand keyboardable math notation
then you are writing equations that are
constantly run as programs .
. every cell accepting values
will have its changes trigger an update
that reruns any equations using it as input .
. a spreadsheet is completely observable;
ie, there are no hidden variables:
when you set up a spreadsheet,
all the calculations are based on
inputs visible to you on the same sheet .
. there are 2 examples of being direct:
a good spreadsheet program will let you
input a math equation as a function definition,
and it will express values graphically;
eg, color codes are given as colors,
and names of objects are replaced with
pictures of the objects .
. the limits of that programming model
is that it represents only a single program
that is a composition of functions .
. we need to intuitively and graphically extend that
to all the control structures people think in terms of .
"we're out to find something better,
something that isn't just for programmers
or non-programmers, but instead
removes that distinction entirely" .
. the author had originally began by
creating a code editor that would make it easier to
use your typical programming language,
but decided that current languages are the problem .
. their code editor featured Clojure
which is basically lisp .
Light Table's general editor capabilities
will work with most languages out there,
but it has deeper language integrations
(things like inline eval) for Clojure,
ClojureScript, Javascript, Python, HTML, and CSS...
More languages can be added via plugins in the future.