Similarly, designers can learn about what is and isn't possible, without learning to code, through research about the existing technologies and their use cases.
True to some extent, but the more you know about what is and isn't possible, the closer you are to basically knowing how to program. I suppose how abstract your knowledge can be depends on what you're trying to do.
For example, I think game designers need to know a significant amount about how game engines work: maybe not the algorithms of, say, gouraud shading, but they do need to know what's possible and not possible in NPC AI, and the more complex the behavior they're designing is, the more they need to know about how NPC AI actually works, to have even a reasonable guess at how their ideas would translate into reality.
A few people have argued this under the labels "computational thinking" and "procedural literacy", a category of skills that doesn't necessarily involve knowing the syntax of C++, but does entail being able to think in terms of algorithms and technologies. There's also an older idea of "design thinking" that sees it as almost always including some technical aspect; that's common in architecture, where the ideal architect is a designer but still quite familiar with at least parts of material science.
Comments
Similarly, designers can learn about what is and isn't possible, without learning to code, through research about the existing technologies and their use cases.
True to some extent, but the more you know about what is and isn't possible, the closer you are to basically knowing how to program. I suppose how abstract your knowledge can be depends on what you're trying to do.
For example, I think game designers need to know a significant amount about how game engines work: maybe not the algorithms of, say, gouraud shading, but they do need to know what's possible and not possible in NPC AI, and the more complex the behavior they're designing is, the more they need to know about how NPC AI actually works, to have even a reasonable guess at how their ideas would translate into reality.
A few people have argued this under the labels "computational thinking" and "procedural literacy", a category of skills that doesn't necessarily involve knowing the syntax of C++, but does entail being able to think in terms of algorithms and technologies. There's also an older idea of "design thinking" that sees it as almost always including some technical aspect; that's common in architecture, where the ideal architect is a designer but still quite familiar with at least parts of material science.