| > making a website != programming. I hear this a lot. While I would not call most basic work on websites very complex, I struggle to figure out why it's not programming. You are writing a series of inline presentation commands mixed with content, not unlike how Knuth preferred to write (a technique he called literate programming and that frequently went double-meta when he'd embed TeX documentation for the Tex source code using TeX). This document structure can then be further augmented by directives in one of a few (common, many exist in the margins) ancillary languages, two of which have variables and loops, one of which is Turing complete. Making websites is programming by any reasonable definition of the word. Usually the people I find saying it isn't then make arguments that are basically design to exclude anyone who hasn't been at it as long as they have. Usually, because they're a little insecure about the slow erosion of the barrier to entry to the field. There are plenty of things in our modern world to get your jimmies rustled over, man. If you wanna take on a really scary-bad-idea issue in this sector look at how a very good embeddable Javascript engine is being misused for sub-par, poorly designed distributed systems programming. |
Any suitably competent and experienced programmer could pick up a new programming language in a week or two of focused study, but they'll basically be starting from scratch if they're learning HTML + CSS for the first time. Meanwhile, a web developer who only knows HTML and CSS is entirely unprepared to do any serious work in any real programming language, and would be starting from scratch if he decided to pick up C. This doesn't mean one is smarter or stupider than the other, but it does mean that the process of telling a computer what to do and the process of telling a computer "here's some text, and here's some guidelines about how you should display it" don't inform each other.
> one of which is Turing complete
Turing-completeness is not difficult for a piece of software to achieve (HTML5+CSS3 is basically Turing-complete by accident) and I'm sure you'd admit that HTML5+CSS3 is not an appropriate language for performing any serious computation.