A Conversation with Alan Kay (2004)
queue.acm.org
queue.acm.org
Pages and pages of verbosity, moronically recursively structured code trees, ridiculously bloated IDEs... how did all of this become a thing ? Worse, if you aren't part of the cult, you're essentially out.
And if you aren't part of the cult, well, perhaps that's for the best as long as you can keep yourself fed with a roof over your head....
From Wikipedia[0]: "Each variable is an infinite stream of values and every function is a filter or a transformer. Iteration is simulated by 'current' values and 'fby' (read as 'followed by') operator allowing composition of streams."
I've recently been reading up on ReactiveX (RxJS specifically) so I like the idea that each variable is a stream, and it's always fun to see just how old some of these ideas are--Lucid came out in 1976. Lucid is also completely declarative--the code order does not matter, and there are no assignments, only descriptions of how data flows through the program.
I have no idea how useful the language actually is, or if an interpreter for it still exists. But the paper I'm reading about it[1] is also up on Bret Victor's site, so that's gotta count for something.
[0]https://en.wikipedia.org/wiki/Lucid_(programming_language) [1]http://www.cse.unsw.edu.au/~plaice/archive/WWW/1985/B-AP85-L...
The 1978 thesis was submitted here a few months ago https://news.ycombinator.com/item?id=11960595
I can only reiterate what the submitter already noted - that much of Reed's conclusions bear a striking resemblance to Rich Hickey's work with Clojure and Datomic. Unfortunately a plain-text copy of the thesis doesn't appear to exist.
Also, if anyone wants to try to pair sunspot cycles with programming languages as Alan mentioned in jest, here's some data:
http://solarscience.msfc.nasa.gov/SunspotCycle.shtml
https://en.wikipedia.org/wiki/List_of_programming_languages
(Although, Wikipedia's list looks far from complete.)