Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In human history we always went through development loops. And I can tell you this: I was there when there was not much CSS, and certainly no preprocessors. CSS was the Next Big Thing on the table (not even 10 years ago, and div was the next big thing instead of table). There are reasons for CSS. Now that it's everywhere young people think it sucks. Because old code always sucks. But often it's not the technology that sucks. It's just that code bloats when it gets older. Now when we take CSS away we'll do that for 5 years and then we'll miss it, so we reintroduce it, maybe using another name, or a competing technology from back then that didn't make it. Both will happen, I'm quite sure of it. Just for you, dear reader, if you want to be the cool guy that knows the technology before the other kids know it, start doing CSS now and wait 5-10 years. The last thing I remember we've seen such a loop was SQL. Now they are slowly reintroducing it. So if you stayed with MySQL and Postgres over the last 5-10 years, you'll probably earn a lot of money now. Good luck.


In what universe did SQL ever go away?

The growth of popularity of non-relational databases was a reflection of the emergence of a different applications and a different approach to development.

The "hate" for SQL was indeed often misplaced, but the need for different kinds of databases was real. The schemas of SQL were powerful but sometimes cumbersome to developers who need to rapidly iterate on their applications. The relational structure of SQL is sometimes ill-suited for the sort of graph queries needed in large social networks.

SQL is sometimes the wrong tool for the job. Other times it's a powerful tool; maybe even most of the time.

In short, there probably isn't any "one-size-fits-all" solution for databases.

But the need for non-relational databases was very real; just ask Facebook, LinkedIn, or Twitter.

---

CSS is another example of a tool that's "going out of fashion" for a real reason: it was never designed for the modular, component-oriented pattern that many developers are using for complex applications on the web.

There need not be a "one-size-fits-all" solution for ALL styling on the web, but CSS is hardly ideal for web applications that are a composition of modular components.

CSS probably won't go anywhere, as it is still useful for the more page-like content that it was originally designed for, but we still need something different for modular front-end application development.


I don't know why this comment is being down-voted. Your comments are spot-on. See my reply below about our product Elevate Web Builder - I came to the exact same conclusions as you. In fact, version 1 of EWB did use CSS, and then I got rid of it this year in version 2. In a component-based architecture, all UI updates are typically dynamic, and pre-defined styles simply don't fit as well, other than to define the various default "states" of controls/elements. CSS is complete overkill.


Yes, what you say is all correct. You can also say that TCP and HTTP are not good for how the web works nowadays. But until now optimizing the bad solution to our current needs seemed to have beaten replacing it with something else. Remember SPDY? I think even Google doesn't use it as often any more. Remember how Facebook wrote a PHP compiler? I think just a few months back they found that optimizing the interpreter can gain them just as much as optimizing a compiler.

In the same vein people will try different things and then come back to CSS and optimize the heck out of it. For example, if the global nature of CSS is a problem, maybe they simply add namespaces in CSS4 (I don't know CSS well enough to even make up a good example, sorry. But I hope it's still clear what I mean).

No matter how bad it is for what it's used, people will continue to use it and the smart, creative people who try to change it will end up optimizing it instead of replacing it.


The global nature of CSS is mitigated by its ability to work with nearly any naming scheme you choose.

A javascript framework can enforce a naming scheme. And then you can have your cake and eat it too.

Why wouldn't you WANT to have a naming convention for reusable components that are supposed to live on the page?


> In what universe did SQL ever go away?

In the blogosphere - admittedly, a rather narrow 'universe'.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: