Knots & NetsRather than wishing for fish by the water, go home and weave a net.
ZH
Knots & Nets ZH

Open Questions

@XingHua Learning & Thinking 2 min read

This post is a place to collect questions I run into day to day.
For some of them I have a few preliminary thoughts, which may have big flaws or even be fundamentally wrong. Others I've only just run into or only just thought of, and since I'm inside my own paradigm, I can't yet even tell whether they're naive, or whether the questions themselves are flawed.

Maybe because I've had a little education in the philosophy of science, I always try, while learning something, to understand its final cause. In natural science research, pursuing efficient causes is the best way to grow knowledge, while pursuing final causes often causes problems and isn't realistic. But in computer science, a great many things are defined directly by humans; you could say most of the computing world is something humans created themselves. In that situation, pursuing final causes is the best and deepest way to grow knowledge.

Anyway, I've written down the questions and my current thinking.
For me, the moment I can ask a question is the moment I really start to understand.

Engineering questions

  • What is the relationship between RESTful and ROA (resource-oriented architecture)?
    • I roughly understand RESTful and have done some simple work with it.
    • Taken literally, resource-oriented architecture is an architecture centered on resources. On the backend, for example, you split things up by resource type and then combine fairly independent resources to produce the content you want.
    • As a metaphor, it's like constructing a building where all the raw materials (resources) are supplied in finely divided form, and in theory you can use them to build most kinds of building structures.

Meta questions

  • How learning computer science differs from learning natural science.
    • This is mainly about methodology. In natural science, in physics for example, we might try to find the final cause of something, such as why the speed of light is finite, or, in biology, why ethanol isn't toxic to humans while methanol, with a similar structure, is highly toxic. In natural science research we go straight to finding out how something behaves; this is called the efficient cause, and this approach easily grows knowledge in natural science.
    • In computer science, most of the world is created by humans. Humans directly defined and built this world, so much of the time we can ask about final causes. Even if, in the end, some questions lead back to natural science or the formal sciences, pursuing final causes lets us get to the essence of a problem faster.

Related