@Blue Ink:It doesn't necessarily have connection to Von Neumann architecture.
Say, for decompilers and JIT compilers, code is data. For scripting engines, source code is data too. And for ARM toolchain for x86 processors, the compiled code targeting ARM arch is treated as data.
Yes, you can usually treat code as data (not always, though), but the reverse just doesn't hold.