It's really hard for me not to respond with pure snark. But I'm going to do my best.<p>Since the essence of computing is processes, viewing all programs as processes, it should be really easy to tell if any given process halts. But, it's not.<p>Math has been around for a long long time, but it turns out there are some really hard problems that took thousands of years to even discover. It took a long time to decide that no internally consistent system can prove that it's internally consistent.<p>Software, is pretty new. And software got kicked in the teeth right at its inception _because_ process and data are highly context sensitive.<p>Now, I'd agree, that folks could probably put more thought into organization of data, and deeper thought about what process should operate on that data. But it's not like waving your hand and saying computers are about processing is particularly helpful. I don't need a machine to translate a program into its result. It might take more than my lifetime, but I can work it out with a pencil and paper.<p>The hard part is building a process that's worth a damn. The thing flips back and forth from being an object, a row of bytes in memory somewhere, to a set of changes over time in a processor. (this could just as easily be brass gears, or punchcards in a loom).<p>You can choose to look at it however you wish, but it's both. It's really hard to get right.