“It would be criminal to think that it will never happen again.” — Jordan Scales CSS on the Backend “Business in the front. Party in the back” is one of my favorite quotes that embodies what it means to be a web developer. We see Internet technologies start off as small toolsets on the frontend that assist programmers in dealing with the DOM. With widespread adoption, however, these languages slowly creep their way all over the stack — creating one cohesive monument to man’s arrogance.
CSS is almost there.
Recent developments to CSS show signs that the language is evolving. Variables, comments, and syntactic sugar are popping up left and right as the language inadvertently preps itself for a promotion.
But there are many hurdles to overcome.
CSS is not Turing-Complete Since features are still being added to CSS and the newest version, CSS3, is still very much a work-in-progress, it is safe to say that CSS is not a complete language. To be a turing complete language means that anything can be constructed, but we can’t even vertically center a div yet.
I can’t tell you how many arguments I’ve gotten into with computer science professors about this, but rest assured this is, in fact, the correct spelling of “Turing.”
CSS has strange syntax Languages need to have a clear, concise syntax in order to gain widespread adoption. CSS unfortunately looks very strange. “Rules” are written like so:
First we have an HTML tag, followed by a very strange character known as the “mustache brace.” This monstrosity can usually be found above the double quote (“) and below the minus sign (-). On Dvorak, the key is missing.
Beyond that, we see a property “background-color,” which to most says, “take the background and subtract its color.” But how do we subtract color? Is “tangerine” a string? No, it’s a constant, as well as a beautiful shade of orange.
The CSS code I tried to benchmark, on the other hand, took so long that our utility crashed. You can see CSS still has a long way to go.
In order for CSS to truly make it as a backend language, it needs several performance and stylistic overhauls, but I feel we are almost there. I’ve already added “CSS” to my résumé, have you?