What's wrong with W3Schools
docs.google.com
docs.google.com
I think the authors of this document are missing the point of the site entirely, it's not about being 100% correct on all issues, it's about teaching people that have never seen code before what HTML JS and PHP is all about. They do that very very well - take it from someone that started from scratch primarily using W3Schools.
For people who use this site it doesn't much matter that all edge cases aren't covered, and that everything isn't entirely correct in the literal sense. What matters is that the content is accessible for Noobs. Here's an example from the linked Google doc: "If you declare a variable within a function, the variable can only be accessed within that function. When you exit the function, the variable is destroyed.
The whole concept of closures doesn’t exist at w3schools..."
when you're trying to figure out how to write your name on the screen 100 times using a loop closures aren't really that important... The general gist I get from it is that the people who wrote it don't really know what starting programming is like for normal people. It took me ages to figure out how to get javascript to execute in my HTML since all the documentation I could find was way above my level. W3Schools taught me. W3.org isn't a resource for beginners. "html5 Conformance Checker (alpha)", and "Game Development with JavaScript and the Canvas element" isn't really going to help people that are trying to make sense of the <P> tag.
W3Schools might be out of date, might have inaccuracies, and might not explain things fully, but it's exactly the right thing for absolute beginners.
Pease respect that.
That's because those Mozilla documents aren't actually all that good. (But more documentation nowadays sucks, so that's not really saying anything bad about Mozilla in particular).
If the subject is new to me, having that first approximation from W3Schools--even if they aren't necessarily teaching best practices or have a few errors--gives me the lay of the land. That just makes it a lot easier to navigate around more accurate and complete, but poorly organized or written, documents from other sites.
This is a very interesting discussion, but shame should not be a motivation or goal. W3Schools' company is a business and despite the somewhat lackluster quality of their output, improving the status quo, not shame, should be the real motivation behind this form of activism.
If you think you can do better while still remaining perfectly accessible to newcomers please do so, but live and let live, especially when the strongest accusations against the company are far from illegal or unethical. (Their certifications may be useless, but they aren't unethical, since they are not misrepresenting the entity issuing the certifications.)
StackOverflow managed to replace Expert-Exchange through quality and good ol' promotion, not through sabotage.
In my opinion, an effort to come up with such a replacement for W3Schools (or enabling an existing one to become much more prominent,) is far more noble, useful, and worthwhile than a W3SchoolsSucks.com or TruthAboutW3Schools.com could ever be.
Also their exams are unethical and should be treated as fraud. If you know anything about any of the topics, take their pre-exam and see for yourself.
The Mozilla docs are not a good alternative. They are not well organized, and they are opaque to anybody new to a technology.
I have no doubt the content is complete and accurate, but it is painful to use.
Write highly-accessible tutorials that teach the way code _should_ be written.
Until that happens, noobs will continue to rely on W3Schools (and perhaps Tizag.com) for learning the all-important first steps for programming.
I have almost zero formal education with programming. Thanks to W3Schools and Tizag, I was able to get started and eventually become a technical co-founder of a startup.
Looking back, here are some of the most important things I learned from these two sites:
-HTML renders into a readable web page
-Server-side code ultimately renders into HTML
-The source for server-side code is private
-The source for client-side code is public
-You need a database to store data (not so obvious!)
-You can organize code in certain ways to make your life easier (eg. writing functions)
-The very basics of OO concepts
Without W3Schools or Tizag, I _never_ would have learned these concepts. No one was going to sit down and teach me, nor was I going to magically deduce them.
Bottom line: W3School lowers the barriers to entry for learning how to program. This can only be good for the startup ecosystem, and ultimately, for the economy.
For those who are coming later, the OP of this thread had said W3C instead of w3schools.
Tell me the naming is not confusing...
Deleted comment
It seems to me that those with the most to learn from such a resource would also be those least likely to know what the W3C is.
If you stopped me on the street and asked me yesterday what W3schools was, I could have told you exactly. not so sure I'd know what W3C is without context. I guess this places me on the low end of the spectrum. :-)
Luckily there is still hope http://www.drumbeat.org/project/feed-item/school-webcraft-fr...
The way the criticism is presented is childish. W3Schools is the most accessible introduction to web technologies that I've ever seen. It assumes absolutely zero knowledge. When you're literally just starting out, this is a big deal. You don't give a damn about standards, you just want to create and make cool things to show to your friends. It's a jumping off place. Criticism of W3Schools as a reference I have no problem with; clearly there are extensive inaccuracies, but telling beginners to learn HTML/CSS/JS from MDC is equivalent to telling them to RTFM.
More often than not, the only thing W3Schools gives "really good examples" of is how you should NEVER write code.
I can sympathize a bit with those who say that MDC has somewhat of a barrier-to-entry, but at the same time, learning stuff the WRONG way first is just as bad if not worse than not learning it at all. It's hard to break bad habits once they're in-grained, and w3schools tends to in-grain a lot of them in such a way that "students" have no idea that the code is horrible and that there is much more to JavaScript, and better ways to get the task done, than how it is presented on W3Schools.
I'll fully admit that JavaScript isn't the most straightforward language to learn - it's further hampered by the fact that it really is so easy to just jump right into it without knowing where to start, and then end up starting on the wrong foot. Perhaps the comments about MDC being hard to "get started" with are onto something, and perhaps we should strive to fix that as well (MDC is a wiki after all). But on the other end of the spectrum, we also need to make it harder to learn stuff that's horribly ill-advised or just plain wrong.
So, what makes a good developer is, in my opinion, the capacity to re-learn, to specifically break bad habits. Let's face it, we've all learned (and still learn) crappy techniques first. If anything, people who wanted to learn it the RIGHT way from the start, that I've met, tended to get bogged down in dogmatism of a specific technology or design idea, unable to see the benefits of other ways of doing things.
In the end, if a person who has learned at W3Schools can't recognize some of the things he has learned as inefficient or false, then this person clearly chose the wrong calling to pursue.