I'm sort of stunned that people would think that it is. I certainly never got that impression and I've used the site many times.
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. :-)
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.
Existing solutions already exist, but unfortunately search results are dominated by W3schools. Poor code examples and wrong information is why http://promotejs.com/ started. This is nothing new, the web needs nothing new. Learning about any modern web technology can be found online, but unfortunately people still venture into w3schools since it's top ranking.
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.
> We certainly do not advocate that anyone use w3schools as a reference or place to learn techniques.
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.
I don't think this is an issue, actually. Developers and hackers are faced with the need to learn new technologies or programming languages every now and then, that have different philosophies or ways of doing things, and hence different standards of quality. Writing idiomatic and good Python code is not equal to writing idiomatic and good C.
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.
I don't think that this is good that you are doing. W3Schools are good resource for great many people and if you can make it better, please do, but they are genuinely helping a lot of newbies learn the ropes.
I agree with post of acangiano here completely. Focus your energies elsewhere, this is not productive.
Let me just add, aside from foolishness of this idea, only good thing is list of good resources, like mozilla's developer corner which I love for good javascript explanations.
I didn't realize that to be legitimate, a certification had to be associated with an educational institution. Now I'm curious. What educational institutions are Red Hat, Cisco, and Microsoft certifications associated with?
I started learning how to program around a year ago, and one of my first and best resources was W3Schools.
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.
Yeah, seconded. I'm a total beginner and W3Schools has been really helpful just getting me familiar with the terminology and very helpful in looking up various tags/functions.
This is along the same lines as how we really don't want to stop teaching kids Newtonian mechanics, even tho it's known to be inaccurate in light of General Relativity.
I was far from a beginner at programming about 15 years before W3Schools came into existence, but I find them useful on occasion. If they cover something I need to learn, I find it works better to spend 30 minutes or so going through their material first, THEN going to things like the Mozilla documentation that the submitted document recommends.
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.
Please, to anyone so passionately critical of W3Schools:
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.
36 comments
[ 2.4 ms ] story [ 75.5 ms ] threadIt 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. :-)
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.
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.
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.
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.
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...