← Back to context

Comment by guscost

11 years ago

The trouble is that so much of what we call "programming" is actually the process of identifying all the implicit assumptions that go along with an idea and making them explicit. In other words, if you knew what to ask for in an unambiguous way then most of the "programming" would be done already.

I'm working on a longer essay but that's the short version.

This is a driving force behind the pedagogy of SICP -- to think in recursive functions. If you can break down your task into sub-problems and describe them clearly you just have to put a few parenthesis around it.

Programming isn't so much about the "code" or syntax; it's semantics and intent aligned with the machine.

If you can express your problem clearly then the program practically writes itself.