(Also consider that a typical way of developing a website or application UI involves everything from drawing on paper through painting in Photoshop through building mockups in a graphics-oriented design package.)
So yeah, if I'm exploring or communicating ideas to non-technical people then yeah maybe code is less appropriate, but to say that you shouldn't design with code is ignoring a huge part of the design process.
Why do we have CAD tools at all when architects and engineers could just be writing code for buildings?
Im not trying to insult your work, but this is so grossly generalized and false that it's absurd.
But please note that programming mostly definitely is made up of patterns - ask any programmer. It's not absurd, nor a generalisation, it's a fact. If you're interested check these links out: http://code.tutsplus.com/articles/a-beginners-guide-to-desig... https://en.wikipedia.org/wiki/Software_design_pattern
Code is a tool, just like a GUI. Most GUIs just abstract away the creation of the code anyway. If a guy like Chris can leverage code as a tool directly and doesn't need a GUI, more power to him. There are plenty of effects I've created with code that would be an absolute nightmare to try to create with a GUI.
There are, but not that much. Look at the code of this demo. It's not obvious, it was probably hard to tweak to look nice, not to mention doing any debugging.
> There are plenty of effects I've created with code that would be an absolute nightmare to try to create with a GUI.
That's kind of my point. It isn't that code is better-suited to this job - it's that our GUI tools are mostly stuck in the static world and suck for dynamic / interactive visualizations.
Bret Victor put a lot of thought on how to improve this state of affairs; he also brings convincing arguments that such things are still better-suited for direct, visual manipulation - that coding directly is a crutch we use because of lack of better tools.
Some good talks and essays on this:
http://worrydream.com/MediaForThinkingTheUnthinkable/
http://worrydream.com/DrawingDynamicVisualizationsTalkAddend...
Using my Powershell module, this creates a Powershell module that loads a Powershell Filter that does FizzBuzz:
New-Module FizzBuzz.ps1 (New-Function Filter-FizzBuzz (New-FunctionStatement If -not _ Modulus 15 'return "FizzBuzz"' (New-FunctionStatement ElseIf -not _ Modulus 5 'return "Fizz"' (New-FunctionStatement ElseIf -not _ Modulus 3 'return "Buzz"' 'return $_' ) ) ) -Filter)
And that command's output: https://github.com/Gilgamech/Main/blob/master/FizzBuzz.ps1