3 ms·
Serious question: how do you define "actual programming"? CSS is a markup language, sure (although technically Turing-Complete, depending on the spec), but it'
by lazerwalker 10y ago
Serious question: how do you define "actual programming"?
CSS is a markup language, sure (although technically Turing-Complete, depending on the spec), but it's still conceptually telling a computer what you would like to happen. It's more declarative than imperative, but given the wide number of different programming paradigms, I don't think that's a problem.
- rootlocus 10y ago> Serious question: how do you define "actual programming"? Solving problems by expressing algorithms in a language a computer can interpret. CSS / HTML are not used for expressing algorithms or computations. They're used for describing visual representations. They're an output format. CSS has a spec in which it's Turing-Complete? Even if it's true, nobody uses CSS like a Turing-Complete language. It's like saying JSON is Turing-Complete because it's JavaScript.
- erikpukinskis 10y agoWould you say Prolog is an output format too? It kind of is! My guess is you just don't consider declarative languages "real programming". What about running "rails new blog"? Is that programming? What if you add "-d mysql"? Does that count? What about changing a YAML config file? Not programming? Does it become programming if the config file is written in Python? What if it has a loop? Or what if you know that a certain key in the config file will trigger a loop? I don't think there is any firm line between computer use and computer programming. I think there is only a spectrum between specialized and generic computational primitives. HTML and CSS are somewhere in the middle of the spectrum, between tapping a button and applying voltage to circuits.
- rootlocus 10y ago> My guess is you just don't consider declarative languages "real programming". That's ridiculous. There's no "real" programming, and of course declarative programming is.. programming. However, with declarative programming you're still writing algorithms and doing computation (composing functions / querying predicates). > Does it become programming if the config file is written in Python? Is it an algorithm? No. It's just like JSON is for JavaScript. > I don't think there is any firm line between computer use and computer programming. Solving problems with algorithms is programming and while there is indeed a fuzzy line there, I still find it far-fetched to consider writing configuration files (which are static inputs without logic) or declaring html structure / css styles (which again, lack any logic) programming.
- erikpukinskis 10y agoCSS does have logic: div { color: red } .foo { color: blue } is equivalent to: if classes.contain("foo") color = "blue" else color = "red" How do you define algorithm in a way that excludes CSS?