Thursday, May 04, 2006
Executable Knowledge
Gabriele is quoting from an interview to Luca Rosati (in italian):
I have to say that I haven't read the interview yet, but I am still going to comment on this quote.
It's common to hear people complaining about how Computer Science is immature compared to other disciplines, but I don't sympathise with this point of view. Other disciplines organise knowledge within a specific domain, whereas the domain of software development is the very act of organising knowledge! Executable knowledge, make no mistake, but still knowledge.
If you see things from this point of view, software development is a reflective meta-discipline. It's part of the very core of software development to change itself, its own tools, the way it models itself and the rest of the world. The discipline keeps changing because it's an highly introspective discipline, more similar to literature in this respect than to engineering. It is a discipline that talks about the world, but that mainly likes to talk about itself to reflect, evolve and change.
Software development changes as the world changes, because the way we see the world and organise our knowledge does change. I would find it worrying if it didn't.
I realized that too many time we 'reinvent the wheel'. More mature disciplines - such as biblioteconomy, but also psycholinguistics and neurosciences - have found a way to deal with this problem several decades ago...
It's common to hear people complaining about how Computer Science is immature compared to other disciplines, but I don't sympathise with this point of view. Other disciplines organise knowledge within a specific domain, whereas the domain of software development is the very act of organising knowledge! Executable knowledge, make no mistake, but still knowledge.
If you see things from this point of view, software development is a reflective meta-discipline. It's part of the very core of software development to change itself, its own tools, the way it models itself and the rest of the world. The discipline keeps changing because it's an highly introspective discipline, more similar to literature in this respect than to engineering. It is a discipline that talks about the world, but that mainly likes to talk about itself to reflect, evolve and change.
Software development changes as the world changes, because the way we see the world and organise our knowledge does change. I would find it worrying if it didn't.