←back to thread

1401 points alankay | 2 comments | | HN request time: 0s | source

This request originated via recent discussions on HN, and the forming of HARC! at YC Research. I'll be around for most of the day today (though the early evening).
Show context
discreteevent ◴[] No.11940642[source]
Hi Alan,

A lot of the VPRI work involved inventing new languages (DSLs). The results were extremely impressive but there were some extremely impressive people inventing the languages. Do you think this is a practical approach for everyday programmers? You have also recommended before that there should be clear separation between meta model and model. Should there be something similar to discipline a codebase where people are inventing their own languages? Or should just e.g. OS writers invent the languages and everyone else use a lingua franca?

replies(1): >>11941154 #
alankay ◴[] No.11941154[source]
Tricky question. One answer would be to ask whether there is an intrinsic difference between "computer science" and (say) physics? Or are the differences just that computing is where science was in the Middle Ages?
replies(3): >>11941209 #>>11942139 #>>11942510 #
panic ◴[] No.11942510[source]
In physics, you can tell you're making progress because you can explain more things that happen in nature. How can you tell when you're making progress in computer science?

To me it seems like "computer science" lumps together too many different goals. It's like if we had a field called "word science" that covered story-writing, linguistics, scientific publication, typesetting, etc.

replies(1): >>11942569 #
alankay1 ◴[] No.11942569[source]
This is a terrific question, and I'll try to do it justice tomorrow morning.
replies(1): >>11945243 #
alankay ◴[] No.11945243[source]
Now that it is "morning", I'm not sure that I can do justice to this question here...

But certainly we have to take back the term "computer science" and try to give it real meaning as to what might constitute an actual science here. As Herb Simon pointed out, it's a "science of the artificial", meaning that it is a study of what can be made and what has been made.

Science tries to understand phenomena by making models and assessing their powers. Nature provides phenomena, but so do engineers e.g. by making a bridge in any way they can. Like most things in early engineering, bridge-lore was put in "cookbooks of practice". After science got invented, scientist-engineers could use existing bridges as phenomena to be studied, and now develop models/theories of bridges. This got very powerful rather recently (the Tacoma Narrows bridge went down just a few months after I was born!).

When the first Turing Award winner -- Al Perlis -- was asked in the 60s "What is Computer Science?", he said "It is the science of processes!". He meant all processes including those on computers, but also in Biology, society, etc.

His idea was that computing formed a wonderful facility for making better models of pretty much everything, especially dynamic things (which everything actually is), and that it was also the kind of thing that could really be understood much better by using it to make models of itself.

Today, we could still take this as a starting place for "getting 'Computer Science' back from where it was banished".

In any case, this point of view is very different from engineering. A fun thing in any "science of the artificial" is that you have to make artifacts for both phenomena and models.

(And just to confuse things here, note how much engineering practice is really required to make a good theory in a science!)

replies(1): >>11945916 #
1. panic ◴[] No.11945916{3}[source]
Thanks for the answer! It seems like there's a distinction here between exploring how models can/should be built (a mathematical/philosophical task), helping people create and understand these models with computers (a design/engineering task), and using these models to formulate and test hypotheses about ourselves and the world (a scientific task). Maybe the lack of science is because we haven't figured out the math/philosophy/design/engineering parts yet!
replies(1): >>11946542 #
2. alankay1 ◴[] No.11946542[source]
The lack of science is because most people are not only not interested in science, but really don't understand what it is.