“By evoking the need for deep conceptual hierarchies, the automatic computer confronts us with a radically new intellectual challenge that has no precedent in our history.” “ I don’t know of any other technology covering a ratio of 10^10” -Edsger DijkstraOn the education ofComputer Science
We need to remove the barrier to entry for aspiring programmers. Portability. Computer Science is an abstract science. Its incredibly easy to lose motivation. The instant gratification of seeing our programs run is what keeps us going.Make it easy to start
Instant feedback. Highly valuable for interactive learning and playing. People are rediscovering their power.Interactive environments or REPLs
https://github.com/replit/jsreplHow cool is that?
Why not do it like everyone else on the server? Fast, no round-trip to the server for eval. Security, not worry about sandboxing languages on the server. Scalability and availability. Can work offline. Hack value.Why bother?
Types Typed Arrays (Already landed in webkit and FF). Binary Data. Proper tail calls. Synchronous wait. Continuations? Coroutines? Generators? Proper tail calls?Could be even better!
Essentially means instead of returning results from functions you just pass them to another function. Also means taking control of the call stack. Free to stop any operation at any time and continue at a later time.Possible Solution: CPS
Trampolined CPSed BF
BF Using generators