But W3Schools also carries some of the most easy-to-use indexes of pretty much everything related to web development. Can't remember the exact name of that CSS property and its possible values? Can't remember the order of arguments of a JS string/array function? Go to W3Schools and browse their lists, get the answer in 5 seconds.
Of course, there's Mozilla Developer Networks, too. But MDN's CSS Reference  is just an alphabetical list of CSS properties with no explanation. W3Schools' CSS Reference  is neatly categorized, and each entry has a short explanation next to it. Very useful when you're trying to remember, for example, "word-wrap: break-word", which is not the same as "word-break: break-all".
W3Schools is good ol' Web 1.0 stuff. Just some lists and a bunch of links. No need to ask somebody and wait for an answer. No need to watch any annoying videos. No need to follow an animated tutorial designed by someone who thinks they know how a person should learn programming. W3Schools is like an old dictionary. A dictionary isn't particularly helpful when you're trying to learn a foreign language properly, but it's quite handy when you're face to face with a foreigner and you need to think up a word for "toilet paper" quickly.
I use W3Schools when I need to remember something quickly, and MDN when I need to learn more deeply about it. When I write CSS, I always keep W3Schools open in one tab and MDN in another tab. I wish somebody would link W3Schools' lists to MDN's details. That would make the best of both worlds.
Which is why I use it. Any competitor needs to beat it in this department.
e.g. compare these two for CSS "display":
MDN is more detailed, more up to date, and says in which browsers it works or doesn't work.
w3schools doesn't even have a list of all possible values.
Or for JS "getElementByID":
MDN just always explains more details and edge cases, and has much more browser compatibility info (including for mobile).
Couldn't disagree more.
Don't get me wrong, MDN has way better information but take yourself through the eyes of someone who just needs a quick reminder or sample of how to do something.
I'll use a 1280x800 screen sample since that's a common size.
Above the fold, one is a very quick and easy way for users to copy code and modify it for their purposes. It's also stupidly simple language. To make a box shadow, do this. The other has undisputedly better technical data but forces you have to scroll below to just see a sample code. And most new coders wouldn't understand how to read their syntax section. On top of that, w3schools lays out values in tables whereas MDN has paragraphs of copy.
By no means am I arguing that MDN doesn't have more detail, but I can definitely see why W3Schools is still used by those who know better.
It does so at the expense of speed of understanding. Better for some people, worse than others. As a speedy reminder of syntax or form, w3schools seems superior.
The reason that w3schools is at the top of the search results is that more people find it useful that MDN. Perhaps it isn't as cool with the hipsters as MDN, but for people trying to get things done w3schools is more useful in my opinion.
I think the comment about 'hipsters' is a little shallow, but it's interesting that this is so divided. I really assumed that HN would be completely in the tank for MDN.
I like nice designs myself (I'm currently building a new site and I'm getting inspiration from roon.io and other beautifully designed sites), but I'm also quite content using sites that have less-than-ideal designs if they do the job that I'm looking for.
So, if you've always used MDN you really must be a young whippersnapper :)
I think MDN has an advantage in that they've only really been around since HTML5 has become standardized, whereas w3schools has had to deal with the changing standards of html4/xhtml/html5.
"...whereas w3schools has had to deal with the changing standards of html4/xhtml/html5."
=> These differences are 99.99% additions, so don't impact documentation that much. In any case, documentations is more relevant is it documents implementations, not standards (which come after implementation most of the time, not the other way around until recently)
Stackoverflow seems to be the place where my JS searches lead me.
Damn those "hipsters" and their preference for valuing getting a real useful answer over an easy to read wrong answer!
Anyway, I see why w3fools decided to remove the list of now-fixed "errors". Thanks for wasting 15 minutes of my time - I'll bill you later :)
PS, your website fails w3c validation.
I keep meaning to buy a copy of this - http://www.visibone.com/products/everythingbook.html - although my standard memory jog for web development is still "view source", same as it ever was.
Probably it is due to my training as a mathematician, but I usually just keep an index of what I know and what it's used for, but I don't remember the specific details. I.e. Implicit Function Theorem can be used for proofs involving X, Y and Z under hypotheses H, unless you are fancy and go for H2 and more work. I just know what I need and where I can look it up – Nirenberg for fancy, any basic Differential Analysis text for the others, that Russian book on my shelf for a neat simple proof, Moser's for a simple proof and application, the list goes on with 6 or more 7 items. Well, this is actually stretching it a little thin, I could prove the basic differential versions without much trouble, and some functional versions given enough hypotheses.
By the way: that text is in the past tense, not because Grothendieck has died, but because he retired from mathematics in a quite abrupt way. See http://en.wikipedia.org/wiki/Alexander_Grothendieck#Retireme...
I forget function names or math formulas all the time too. :P
For example, SQL injection: http://www.w3schools.com/php/php_mysql_insert.asp
Perhaps to their credit, they have a two-part tutorial on email sending, one titled "PHP Email" and the other "PHP Secure Email". Also, their form handling tutorial is followed by another tutorial on "validation" (by which they seem to mean a combination of HTML escaping and outdated defenses against SQL injection). But most people are just going to copy and paste the first tutorial without looking at the second.