Earlier quoted context omitted.
Designers must understand the media they work in. Design involves tradeoffs and accommodations for practical limits. A designer who doesn't understand the capabilities of the systems they design for is destined to produce bad designs. You can't understand the limits of CSS unless you can work with it. Imagine if Apple hardware designers depended on their manufacturers to tell them what's achievable with aluminum and…
Yes. But this is far far far away from "designers must code." Except for a few unicorns, this just leads to people who are mediocre at both design and code. A designer who is bogged down in code will also produce bad designs, especially when they let their inability to think of how something will be coded (because they aren't advanced coders) limit them! Designers have their own tool chain to prototype UIs and user i…
You mention that designers have their own toolchains for prototyping, but these has nothing to do with UI dev tools. I've often wondered why this would have to be so.
Look at other advanced design fields like architecture and industrial design. It would be unthinkable today that professional architects would just draw a facade and not use CAD to actually model the structure. Similarly, it would be very unusual for an industrial designer to model a product using a toolchain that is entirely separate from manufacturing. The assumption today is that CAD and CAM work together, not separately.
Why can't we have the same in software? For my part, I've been trying to work on a solution in the form of apps like React Studio [1]. It's not there yet, but I'm convinced that proper software modeling tools will happen eventually.