5 ms·
> 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 pr
by KirinDave 13y ago
> 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.
- theseoafs 13y agoThis is a nice, comfy thought but it's just not true. Programming and web development are entirely different things, and it doesn't have anything to do with barriers to entry or how apparently "difficult" each of these things are. They're just different. 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.
- KirinDave 13y ago> This is a nice, comfy thought but it's just not true. Actually I think most people found it profoundly uncomfortable. > 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. This has nothing to do with your point. Most programmers struggle to pick up Lisp, Haskell and ML for the first time, but those are unambiguously programming. TeX is usually a bit tricky too. > 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. Much as it pains me to do this, I cite Node.js as a counter example. People can and do write systems software using their understanding of Javascript as a basis. They may not do it well, but I know for a fact I could write certain types of servers acceptably well with it (I would prefer other tools, though). Note that just because Ryah and co do not know how to write systems software, the basic principle is not invalidated. With some serious hacking to the node.js vm, it could be a viable competitor to Erlang. This argument is incredibly weak, and basically self-refuting. But we have to repeat it every now and then. > 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. You keep re-asserting this but haven't given any quantitive metrics for how it is different. You just keep saying it like I'm supposed to agree.
- theseoafs 13y ago> Much as it pains me to do this, I cite Node.js as a counter example. People can and do write systems software using their understanding of Javascript as a basis. They may not do it well, but I know for a fact I could write certain types of servers acceptably well with it (I would prefer other tools, though). Well, Javascript is a proper programming language. If you've got a web developer who knows Javascript, you've already got a web developer who knows programming. For the record I'm not making a distinction between systems software and higher-level programming here. > You keep re-asserting this but haven't given any quantitive metrics for how it is different. You just keep saying it like I'm supposed to agree. I think I've made my case pretty clearly (though this discussion is qualitative rather than quantitative). If you only know HTML and CSS, you aren't a "programmer" because you don't have the tools and knowledge it takes to write programs that do any nontrivial computation. If you only know Python, you don't have the tools and knowledge it takes to make an attractive static website. Of course, you can learn both, and having experience with computers makes learning one somewhat easier after you've learned the other.