The code has no meaning without a compiler or interpreter.
The compiler and interpreter have no meaning without a CPU.
If I store x86 CPU instructions in a Postgres database, is that data or code?
It’s also a worth viewing this in light of different computing models. The main mechanism may look quite different if you’re looking at a CPU, GPU, or DSP model of computing.
I agree that both code and data are akin in terms of meaning. Transitioning from Assembly language to Python liberates us from concerns about registers and low-level intricacies. Python directs our attention to the problems we aim to solve, in contrast to low-level languages where a significant effort is spent on specifying hardware operations. High-level languages emphasize outcomes, enabling us to focus on the result rather than meticulously instructing the hardware. AI propels us further along this trajectory.
In this sense, I view a prompt and code as rather similar.
However, code is just data for a compiler.
Data has no meaning without spec. It's a quite big difference. Code has no meaning without spec too.
var a = 1 + 1 << 2;
wihout a spec how do you know "+" is not overridden? Maybe it means string concat and implicit casting and 1 + 1 is "11"? How do you know the precedence of operators? << runs first or +?