Coding is Language. Programming is Dance.
It's worthwhile to revisit the necessary distinction between "programming" and "coding", as the two are constantly, erroneously conflated in discussions among the general public - and even among technical professionals.
There's a difference between Application Programming and Information Coding.
Information Coding ... applies meaning
Application Programming ... makes things happen
The DaVinci Code
The DaVinci Program
I know a bunch of fine application programmers who shouldn't be let anywhere near information code (like HTML, CSS, or semantic tagging).
It was a project in which I performed a CSS and Template 'code cleanup' for a SharePoint environment that had become extremely effed-up. In short: Programmers and non-tech managers had made individual, opportunistic, slapdash changes ... but without any appreciation for clarity, consistency - or a sense of larger implications.
The environment had become a Tower of Babel
The Result of the Code Cleanup
- Going Native http://www.jcvtcs.com/techniques/going-native.html
- IA = CSS http://www.jcvtcs.com/services/architecture-ia-css.html
- It's Semantic http://www.jcvtcs.com/techniques/semantic.html
Hey, it's an important job (the coding of HTML, CSS, semantic tags, etc.). And somebody's gotta do it. No offense to my good friends the Programmers, but many of them don't know how to "code" information, in the sense of content management, semantics, tags, information architecture, or page self-awareness. Nope. In terms of practical skills, discipline, and job description - That's the realm of ... information architecture and UX.
Net/Net: Programming is what developers do. Coding is what we UX-er's do.