I try to use MDN as often as I can; however, MDN often obscures the immediately useful information under copious amounts of text while W3 schools usually offers a quick use case that pretty much covers it.
If for some design reason you wanted to add curly quotes around all links “” or perhaps display an attribute of the link as a hover-able tooltip, it would be better to use pseudo elements rather than adding content for the sake of the design.
Things that are subject to change and attributed to design choices rather than content choices are much easier to add and remove via `:before` or `:after` vs. going through the code and adding or removing elements.
We're talking about this through a non-responsive website laid out with tables, designed with inline styles, with ugly embedded code samples, and "bad" <br> tags. Maybe these aren't the most important things to think about when talking about the usefulness of a website.
I'm getting pretty tired of these mindless defamations of W3schools. I get it - sometimes their resources are incorrect and they almost always use bad practices. But seriously, while you're busy being an elitist asshole slamming their website, the people at W3schools are busy teaching people the basics of web development.
Exactly. It just seems to be fashionable to write a blog post bashing W3Schools, PHP etc. Yes, some of their content might have technical inaccuracies. Yes, the design is dreadful. But, when you're quickly looking to find out what are the different properties that text-decoration supports, W3Schools is pretty damn useful. It's very good both as a quick reference or for quickly learning the basics before diving into actual development.
Actually, if you read the article you would have seen that, in the end, I specifically said that it's possible that they are doing the most important things right (focusing on speed and accessibility).
And the fact that they are a good beginners resource doesn't make their own site's bad practices good practices. Even beginners know how to "view source".
The fellow who's so upset about their coding standards--I would suggest he visit their "Help us" page and the "Forum" page where he can contribute his expertise.
For a free, low-ad site, w3schools is remarkably useful. I hope this kind of article doesn't damage them too much. I'd be quite upset if they went away, or if they became more ad-heavy or subscriber-based to pay for all the fancy updates that he wishes they'd do.
For the most part, I don't mind w3schools ranking high in my search results when I just need to look something up really quick. I still believe they're basically a content farm, but on the other hand someone has to be the reference dictionary for HTML stuff. When I started out many, many years ago, I used a reference called SelfHTML which died out some time ago - and W3Schools mostly reminds me of that. However, my lookup workflow has changed, and I'm sure most other people are going in exclusively through Google as well.
I think most of these issues the article points out are somewhat short-sighted and superficial.
> They Use Classic ASP
I'm not sure they actually do, but even if that's true it's probably a choice they made in ancient times and they're sticking to it. And honestly, why not? It's not like we're dealing with a highly complex site that needs to be agile and extremely dynamic. They're probably just doing some light templating stuff and that's it.
> Script Tag Madness
That's a good point and it seems like an easy fix. However, most of these script tags seem to point to external vendors - most prominently Google - and that's probably why they're not messing with them.
> They Use Inline Styles
I agree it looks bad and it's also pretty easy to fix. On the other hand, those few extra bytes don't actually harm anyone. It's not pretty, but the argument that it makes the site hard to maintain is probably incorrect. I would think that no matter how many pages there are the number of actual templates used is quite small.
> They Use Ancient Float-Clearing Methods
Again, this is probably a hack from the dawn of time, and it seems to work. Would they do it the same way today? Probably not. But is it worth the hassle of taking it out for no reason other than pleasing nitpickers? Nah.
> They Use Tables for Layout / They Use <br> Tags Badly
Historically, for a while there that was an absolutely valid choice. Though I wouldn't write table-based layout code without cringing today, I have to take a stand here and assert that tables are not that bad of a tool. The standard argument that div/CSS-based table-like features are always better is somewhat hollow given the reality of actually dealing with the code. In practice, even CSS gurus do layout with HTML element structure all the time, they're just not open about it.
> They Have Duplicate Content
I'm not sure why Google doesn't filter these out. Not fixing that is somewhat of an atrocious move on W3Schools' part, but you can't really blame them for wanting the ad revenue.
> Their Embedded Code Examples are Ugly
That's true, they could do with an update. Syntax highlighting would be great.
> They Use Reflections / They Think “CSS3” is Part of “HTML5” / They Use the “keywords” Meta Tag
I don't care.
> Their Website is Not Responsive or Mobile-Friendly
Personally, I think that's a huge plus. I'm almost always annoyed when I get the mobile version of a site.
For me, it breaks down like this. For anything I've been away from for a while, the simpler sites work better. If I've been back involved (so I'm not asking simple questions), SO is the way to go. I'm ok with this.
I really dislike the fact that I can't distinguish in my search results between good SO results and bad SO results. So many times I'll click their result only to go to a page that has been 'closed because ...'
Sometimes I can still see the answer there (someone will have answered before it was closed), but often SO is a huge time-waster for simple things.
I find W3Schools to be the fastest solution for figuring out why my 'font-decoration' css style isn't working (like I had to do yesterday).
Maybe there are partly so popular because they are not trying to be perfect? When documenting things it is not just what you include, it is also what you leave out. Sometimes you want to full syntax for some specific SQL statement, sometimes you just want a few quick examples of the alter table and then figure out the rest yourself.
For example two approaches for documenting the HTML table tag:
It's not such much what they left out, it's what they put focus on: quick and fast examples, which is what people mostly want (the "Try it Yourself" is also a huge plus here). If i want more detailed docs, i'm more than willing to scroll down the page.
Just really sick of all the online drama, about any site. Just another typical post on HN criticizing another. You know what, You go build a site that is better and perfect. I am sick of people getting articles posted that just criticize. Go build something better, I dare you.
Also, as ygra has already pointed out, the .asp extension doesn't necessarily mean they're using ASP. They've possibly just kept the extension and they're routing to something more modern with URL rewriting.
If you're going to critique other people's work, make sure you know precisely what you're talking about first.
If we all waited until we were 100% accurate before critiquing anything, then nothing would ever be critiqued - calm down and take your own advice.
This is a classic example of duplicate content in the SEO sense: there are multiple separate URIs which present the same content to the user. That's definitionally duplicated; the fact that it's down to badly-implemented load balancing is irrelevant.
The obvious correct solution would be to handle the load balancing at the DNS level, or with a single canonical load-balancing endpoint. If that's not possible, then using <link rel='canonical'> tags will indicate to search engines that the URIs point to the same resource, allowing a single canonical URI to be defined.
If they are "load balancing", then why aren't they using geo-specific subdomains? As shown above, their subdomains are keyword stuffed. If you're right, then they're certainly doing it in a very bizarre manner.
There's nothing wrong with using table for layout. Before calling me old school, let it be known that table can do responsive before even css2 was drafted. Also the rendering compatibility of table still looks pixel perfect now as how it was written in 1999.
Tables are anything but responsive. Responsiveness is not about fluidly changing the width of elements. You can't for example change 3 column layout to 1 column with tables.
The only viable use of tables for layout is when you need to center something vertically. Even then it's better to skip using the tag and apply display: table; and display: table-cell; to respective elements.
I agree. I get chuckle everytime someone complaints about a site using Table layouts on HN, which in itself is built on tables.
However, I find it even worse when people try to recreate a simple table using layers of divs only to represent a series of tabular data. Why take something simple and make it very complex, unmanageable and less cross compatible?
The general argument that you are making here seems to be something along the lines of: this site teaches web development, so it should practice what it preaches. You are saying nothing about the content of the site, its offering to users.
However, their own focus seems to be on offering a useful learning resource, not replying to the critics. I find their content fairly good for absolute beginners. Even if they grossly oversimplify their subject, they offer the best way to get up to speed on the basics of many new technologies. That's why they are high in the search rankings - no mystery there.
So give these guys credit - they are offering a pretty good learning resource for the basics. I'm not ashamed to admit I used it a lot at the beginning of my career as a self-taught web developer. And then I moved on.
I've noticed that particularly in web development there's a lot of dogmatism and feel that a lot of the "best practices" (I personally hate that phrase...) being thrown around are just a way to make web developers feel like they're qualified and superior just because they can say "I follow the rules, you don't!" It's about making websites, not some sort of pseudo-religion. Do what you think is the best way to present your content, don't be a mindless follower.
After all, who goes around viewing the source of webpages they visit (unless something is terribly broken and you want to find out why)? If I can see the content I couldn't care less.
This is from the perspective of someone who has done a lot of "web development" with nothing more than a text editor and a browser (or several)... I've used w3schools as well as the official HTML specs; I don't care what the latest fads are and don't even want to expend the effort to, I just do what works to show the content I want to show to my visitors and that's it.
To the people defending W3Schools, please understand that some of us do our best to ensure that as much of the information that we consume originates from the most accurate, detailed, and authoritative sources that exist, regardless of usability, cost, etc. It bothers people like us that W3Schools is a top result at Google for so many search terms, in the same way that it bothers us that sites like CNN and Forbes are top results when searching for "health".
We realize that people such as yourselves have no problem consuming information from low-quality sources such as W3Schools, CNN, and Forbes, and most of us don't care where you get your information from. We would just prefer that our search results not be polluted by the low-quality sources that people such as yourselves link to and, thus, push to the top of the search results.
It's still free. It works. It has a lot more than html
and css. It has java, php, sql, even google api's and they
seem to add more stuff every year. When it comes to teaching computer programming; I have not see one dude who
I would pay. Maybe I haven't found the right dude? I take
that back--I might pay David Maaaaan?(Harvard cs 75). I
didn't realize just how good of an instructor he was until
I saw the people who were going to teach the following
courses. Following dude at Harvard,"I want to teach you
the beauty of beautifully written code!" Let us see the
beauty--please. A tip to anyone struggling along with these
courses and languages--vlc has a "faster slider". It takes
the verbosity out of some instructors.