Hacker News new | past | comments | ask | show | jobs | submit login

I think of the non-hardware parts of computer science as applied philosophy.

Art seems wrong to me as a descriptor because it would imply that I'm writing code for a sort of aesthetic beauty. The aesthetic beauty should be in the end result.

Which also means it probably isn't science, because really what I worry about when I'm programming is that the end result will be correct. To some extent I am concerned about scientific process, having a program that is repeatably verifiable as doing what I expect, but in terms of actually using scientific methods to write software, I can't really say I do that very much. As with the beauty, the science is in the end result and not really the process.

Which brings me to why I think it is applied philosophy:

What am I doing when I write code? I am taking a problem and deconstructing it into different pieces, finding ways to represent the different pieces, and reasoning about how everything should interact. I think this basically holds true for functional, object oriented, and imperative programming.

I think that from this perspective, writing code is closest to some sort of philosophical inquery. You are using a computer to build abstractions, and through enough abstractions (or abstractions written by someone else, imported in libraries), you are able to create something.




> Art seems wrong to me as a descriptor because it would imply that I'm writing code for a sort of aesthetic beauty.

I think code can hold the same kind of beauty that math has when someone says that a proof is elegant, or a theory is beautiful. It's not a visual aesthetic, but appealing nonetheless.

Anyway, I think that the idea of programming as philosophy is interesting. I'll have to think about that more.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: