2013年7月31日 星期三

The Future of Programming


http://worrydream.com/dbx/

- Technology moves quickly, but people's mind moves slowly
- Furious at students wasting computing time on assembly, that could have been doing manually

coding -> direct manipulation of data "direct manipulation vs. markup language"
procedure -> goals and constrains "expressing the programm on what you want vs. how"
Programming goal. Different program that can communicate with each other; they will figure out procedure that can achieve the high level goal vs. API (1. have to know each other 2. dependent 3. human that doing doing low level work)

text dump -> spatial representation
- Smalltalk: representing text spatially
- Interactive design


sequential (actor model) -> concurrent (threads and locks)




Actor model: every program is doing its own thing, interact with people nearby. (Lisp?)

The real tragedy, is that people forget that there can be more way of programming.

Why all these good idea happened there? Because nobody knew what programing was, they just tried everything.

The most dangerous thing for a programming person, is to "think that they know what they are doing".

 "I don't know what I am doing."

Lastly, here's some advice Alan Kay gave me (as I was going through a small personal crisis as a result of reading Jerome Bruner's "Toward a Theory of Instruction"):
I think the trick with knowledge is to "acquire it, and forget all except the perfume" -- because it is noisy and sometimes drowns out one's own "brain voices". The perfume part is important because it will help find the knowledge again to help get to the destinations the inner urges pick.

2013年7月21日 星期日

Bret Victor - Inventing on Principle





- "Follow your principle"
- injustice, responsibility not only opportunity-> social wrong. It's not just for social activity, but in technology as well. A personal mission. Larry Tesler didn't only invent "ctr+c", or "modes", but he recognize a culture wrong that was invisible in the culture. 

- Fighting for a particular idea. 1. The world try to find you by your skill. 2. Path of the problem solver: certain problem, work it, make contribution. 3. Go after his problem.

It can take time to find your principle. It took me ten years. Experience many things, and see whether it resonates with me. Confine yourself to a single skill, may limit the ability to find the principle.

A principle should be clear, to dictate right from wrong. 



- Creator needs an immediate connection
- So much of creation is discovery, if you can see the immediate connection, you can't create it, trying it immediately
- Creator needs to see what they are doing, been able to try idea as you think about.



- If we are writing program on a computer, why do we need to simulate computer in our head?

- I always think about million of pieces lock in million of heads.