From: transkawa on
I was reflecting on an observation that MIT is switching to python and
libraries rather than lisp and evolving data (lists) for its 6.001 course.
Why the reflection? I asked a question on this group recently: "list where
java exists," and was satisfied with the answers i received. I went back to
sicp and made some startling discoveries (sorry, still teething in
programming):

a. procedures are used to capture data evolution and we use an interface to
bridge abstract procedures to their data. That, is the strength or goal of
sicp.

b. What would one use to capture an evolving interface or an evolving type?
Nothing but an higher order procedure. guess i am correct? And what would
one use to bridge this higher order procedure with its interface? another
interface, another type?

(I have to do some research on higher order procedures. can anyone correct
me here). If i was wrong, then what do you use to capture an evolving
interface? A class is the bridge though.

From the answers to my post, I saw the truth in why anonymous classes,
objects and garbage collection should converge lisp and an oo language like
java. it also throws a light on the different evolutionary focus of these
two languages: while lisp considers evolving data or algebraic problems,
java or oo,
torments itself over evolving types or problems of rates of change
(calculus). should someone say i am wrong?

In an earlier post, someone made a comment about a replacement for the SICP
book and i think anyone doing a replacement should be thinking along this
lines: do you want to teach programming based on evolving data or evolving
types? I would go for the earlier for undergrad and programming rookies.

If MIT is making a shift from lisp to python, i.e using libraries in its
outlook, they might be going through an evolution themselves. they might be
looking to capture big bang evolutions rather than successive evolutions.
might be a sign of the times or the mood in the department.
i would appreciate comments on my reflections.

I'd rather not solve an algebraic problem in java where lisp exists! i
should not be capturing data evolution with a tool that is built to capture
object evolution without a change of mindset or outlook. I think this is
where java is no fun! If society destroys itself, java and oo might be
thrown away but lisp and fortran would still exist, even with only a pen and
paper.