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

What would software that contains no information look like? If you can't separate the two (and I don't believe you can), the "separation" between them is merely rhetorical.



I'm just saying that defining software as information (and therefore nothing but math) seems arbitrary to me. Hell, I'm not even saying I necessarily disagree with it. But I think it's not the only way to look at software, and so not a terribly convincing argument to me as far as SCOTUS is concerned, or the end-goal we all want of significant patent reform (at least in the realm of software).

You could define information as state or data, and software as that which acts upon that state or information. You wouldn't (or at least I wouldn't) describe the data in a cookie as software. That's just a piece of information. The browser that handles it is a piece of software. Same with http packets. That's data. Accepting dynamic bits of data and acting upon them accordingly would then be software. Or a database is software, but the data it contains is information. You could counter-argue that the cookie or the packet are not external to the system... that's it's all part of the same piece of software. And I frankly couldn't refute that, because it's just how we somewhat arbitrarily choose to define and parse our understanding of the system.

In answer to your question, software that contains no information (at least looking at it this way) would be something that runs without ever storing, emitting, or accepting dynamic bits of information.


You seem to be separating the activity of executing a program from the program itself. There's no reason a program cannot be constructed which takes arbitrary data and we feed data to programs to get other programs. So what's "mere data" in one system might bbbe executed by another.

While a recipe card might not constitute a "program" in most contexts, if you construct a cooking robot, the same data is now magically software because the robot could use it to cook. So the line you are attempting to draw between software and data is merely that of the limitations of what the system can process.

And all programs are ultimately processed as data by the instruction loop within the CPU. For example, I can construct the "non data" program of 0x20FE (unconditional branch to its own start on the 86HC11, i.e. 10 GOTO 10). The CPU unconditionally fetches the instruction at the instruction pointer, then executes it. In this case, it increments the instruction pointer by 2 while reading it, then executes and decrements the instruction pointer by 2, endlessly looping over the same data.




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

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

Search: