Oops, when I say "Software includes both data and program" it sounds as if data and program can be differentiated. The programmer can differentiate data and program for their convenience, as it makes things easier to understand for the programmer. But the computer does not differentiate between data and programs.
Since software is by definition the information that tells the computer what to do, a computer can't do anything without this information. Hence a computer can't work without software.
The only thing we disagree about is the concept of a raw computer running without software. When you write that in your answer, it appeas that you are suggesting that a computer can indeed work without software
But yes, in daily life we use the word software to mean a collection of programs. In this case, I am using software to mean the information that tells the computer what to do
The underlying assumption that the other people who have written answers are making is this "Software is the algorithm, written in a programming language that runs on a computer" they are treating the data processed by the algorithm as something that isn't software
In your answer, you say "For example, a computer C running a program P on input x can be seen as a "raw computer" (i.e., without software) running on an input which is a pair <P,x>."
We do agree on most respects. As you say "sofware is the abstract information that has to be made physical to be used in a machine." I agree with this, software is the information. It can be data that is fed in the computer too. Though this isn't what people think of when they think of software
You had said "Then, how do you distinguish data and software. One important point of theory of computing is precisely that there is no such distinction, thanks to Gödel numbering."
As you mention in your answer data can become a program and get executed - the real world implication of this is malware - which is "data" distributed by hackers
@babou hardware is fixed and physical. Software is the information, the inputs to the circuit. The inputs are not fixed, though they may be physical. If you agree with this, then we both agree. I somewhat liked with your answer, but I feel your answer does not directly answer the question asked. Software, at the lowest level is input to logic gates
I am just saying it is misleading to talk about computers without software, doing something. In the later part of your answer, you seem to try to say that the line between hardware and software is blurry. I disagree. A hardware circuit simulated using a computer program is software. It is hardware only if it physically exists and is not simulated.
"a computer C running a program P on input x can be seen as a "raw computer" (i.e., without software) running on an input which is a pair <P,x>" - this still does not make any sense, sorry. The input is the software.
When you say "raw computer (without software)" it sounds like you think a computer can do something without software. A computer can't do anything without software, it needs code to execute
I suggest you to see my answer written with the help of the State machine concept. With this concept you can understand exactly why a computer needs software to function.