I disagree and I don't think he really responded to any of the criticisms, just sort-of acknowledged them.
> They Appear Affiliated With The W3C
> For those in the know the W3C is the World Wide Web Consortium, it is an international organization that governs the web. W3Schools rides off the notoriety of that name despite being unaffiliated. Is that really a complaint? How many _Java_Script developers are out there that think this is an issue?
I think this is my biggest issue with W3SChools and he just kind of brushes it off.
Masquerades of this kind have always been a pet peeve, such as how all Blue Moon materials try very hard to present it as a microbrew, when its a Coors product. People think they're supporting some small company, and Coors is intentionally duping them.
JavaScript, by the way, was a name change based on a mutual co-marking deal. W3School's name is not.
> [about Wikifying] Again, I’d love to see it happen – but that doesn’t mean it should happen.
Funny, I just edited the MDN today. It is a far better resource, wiki-fied, with no ads, and Mozilla is always looking for helpers. If you'd love to see it happen, help it happen.
I've got to be honest, I've never made that connection.
To me, W3 is simply a popular abbreviation for WWW, like "dub dub dub". When you think about it, at 9 syllables WWW has probably the highest word-length to syllable ratio out there.
Plenty of people have made the connection. I've frequently seen people refer to it as "W3C Schools" and complain to the W3C Validator's mailing list about the Validator rejecting code from "your site http://w3schools.com.
I disagree. The reason a lot of newbies start with W3Schools is because they're the plague of Google search results. Popularity isn't everything. If it was, we'd all be promoting Nicki Minaj as the definitive source of quality music.
The people who are using W3Schools are, almost by definition, the kinds of people who don't know that the site has glaring errors, and can't spot when the page they're looking at is wrong.
Imagine if you were using a calculator to help calculate dimensions for a house. But unknown to you, 1 in 20 calculations you make came out with an answer that was 10% out. Is that calculator useful because 95% of the time you get the correct answer, much faster than you could have found it yourself?
Let the record show: I'm trying to teach myself a bit of web design and I've so far found MDN to be a far better resource than W3Schools, so perhaps good behavior triumphs in the end?
Only problem is that MDN's load times are ass, W3Schools is much faster. This single thing is 99% of the reason why W3Schools will continue to be favored by most people (imo).
No, the single thing that will keep people using w3schools is that they have managed to permanently glue themselves to the top of any Google search related to HTML or JS. Back when Google's site-blocking feature was enabled, they used mirrored domains to keep themselves in your results if you tried to block them. That is, you'd block "www.w3schools.com", and then your searches would have "wwww.w3schools.com" right up at the top.
It's really surprising to me, with abusive tactics like that, that Google hasn't penalized their page rank.
It's fun sometimes to go through the beer aisle and look at the company information on the bottom of the bottle 6-pack. You'd be surprised who owns what.
Their PHP+MySQL tutorial has an SQL injection vulnerability in every example that takes user input. It never mentions SQL injection as a possible problem and it never covers any of the techniques needed to defend against it.
In my book, that's unforgivable and they won't get any slack from me until they fix it.
Very true. It amazes me that in 2012, the code in 8 out of 10 PHP/MySQL questions on StackOverflow is still vulnerable to SQL injection. Sometimes people post code that is running on real, production web sites that handle credit card data. They even give you the URL. It's super easy to crack any of them - hell, you can see exactly what you have to do in the ugly 500-line monstrosity they posted. Any resource that is dedicated to education and teaches web development should take SQL injection very seriously. There is no excuse for not doing so.
The problem is that these tutorials were written a looong time ago when the default was to have magic quotes switched on which has probably saved thousands of newbie developers apps from being SQL injected. The default is now off.
Of course magic quotes caused problems with excessive escaping in DB fields leading to some developers explicitly de-escaping values before adding them to the DB.
But those tutorials should include a warning like "what we teach here is enough for you to build a nice dog house but using the same techniques on a sky scraper will surely lead to disaster" - and then give you resources to educate yourself further.
I refuse to use the site. This behavior should not be encouraged. If you would like an alternative, I highly recommend the Mozilla Developer Network. (https://developer.mozilla.org/en-US/)
As a long time webdev, I too took a fews years back in around 05,06 to figure out how misleading w3school's content is, but since then, I've compiled a list of resource to help myself relearn the webdev process. But be warned, there's no shortcut if you want to be good, if you just aim to be quick and dirty. Go read w3schools.com and be yet another w3fool.
_Webdev Begins_
Sitepoint
Slightly outdated, but perfectly succinct and accurate reference to HTML, CSS with EXCELLENT notes on common pitfalls. All new webdevs should start here.
* http://reference.sitepoint.com/
Things that you must learn about CSS
* box model
* floats
* positioning
* margin collapsing
Eloquent Javascript
An easier to read book on JS.
* http://eloquentjavascript.net/contents.html
MDN
Their resource on Javascript is a must read basic reference for all new JS developers.
In a nutshell the problem with W3Schools isn't any of the things the author points out. It's in the people learning from it. All good developers get to a point in their learning where they realize W3Schools is all the things the author points out and stops using it or very rarely uses it as a quick reference. That's fine. But then there's a whole other breed of developer who never move beyond what can be learned at W3Schools. They go on to write and share terrible code and teach others the least effective way to do things and that's where the harm in W3Schools lies. These are the same developers you find on Stackoverflow who post questions like "can you give me the code to run a Facebook clone".
For me it is a place to learn what to google... I often start with the W3Schools site and then use the verbiage as a launching point for further queries
100% agree. I learned so much off W3Schools. Yeah, it's sometimes inaccurate. But the information is a million times better than reading some WC3 specs or Mozilla's developer guides.
Often I see people link to MSDN or Mozilla's developer network when asked for how to learn web development, and all I think to myself as I see that is that if it were me, I would just quit. The content is explained in a way that's just not user friendly for someone who wants to learn for the first time.
I would argue that http://htmldog.com/ or the MDN (https://developer.mozilla.org/en-US/) are much better resources for even the newbie. Correct information always trumps easily accessible information. It isn't like the MDN is hard to navigate or anything, anyways.
With the exception of the "try it yourself" link, the MDN page has everything the W3School's page has, and then some, as well as being more accurate as it contains version numbers, links to the spec, as well as related usage notes.
There is a huge difference between w3schools and these web sites, you can type in stuff on one side and see it on the other. I know that seems silly but its so helpful for people learning, is there anywhere else where they have that sort of setup?
Thank you. A lot of people forget what it was like to be a newbie, confused by denser sources of information, and just looking for something that presents the basics in an accessible way.
W3Schools is a great resource for beginers and it should stay as it is: Simple. The minute you wiki-fy it, it'll become abstract and ground for ideological wars. Once you get your feet wet with their content then you move on to more advanced websites. As for the name issue, not a major issue.
Whatever man.
Acknowledging the fact that a website which is so common teaches people to program the wrong way has responsibility.
I'm sure they make a shitload of money from ads, and the authors of the website don't even bother to read emails.
The problem is that they have a high SEO ranking, because most programmers are dumb and they don't know what's good for them. That's where the word responsibility comes in.
Learning to append MDN to all my searches helped me out a lot. MDN is just a much better resource. And before I caught on I did assume a certain credibility and relationship between W3schools and W3C.
If you use Google, you can add w3schools.com to your list of sites blocked in search results. I did this and it makes MDN my top result almost 100% of the time when searching for spec-related information.
The one thing I've got to hand to W3Schools is that they've (he's) SEO'd the crap out of the site (probably also due to its massive popularity). If I search something very specific, such as a certain CSS3 element or JS function, the definition and a pertinent case example from W3Schools is always at the top of Google.
I use both MDN and W3Schools but many times I prefer W3Schools since they provide a much cleaner and simpler explanation together with the invaluable "try it yourself".
The argument against w3schools is simple: Use Primary Sources Wherever Possible.
If you want to learn about the history of the Holy Roman Empire then Wikipedia is great. The relevant primary sources are numerous, and many of them are probably written in languages you can't even read. But if you want to learn about web development, the primary sources of documentation are few, easily found, and authoritative.
If you want canned solutions to your problem, look to StackOverflow. W3Schools can die in a fire.
The thing that is more annoying than w3schools is that if you tell Google to always exclude w3schools results from your searches, it won't. So I have to manually append "-w3schools" to every.webdev.search.I.do.
I love to hate W3Schools as much as anyone these days, but here's a dirty little secret: when I was making the transition from nights-and-weekends coding enthusiast to professional programmer, I needed something (anything) to put on my resume that might suggest to HR that I can do the work. Two W3Schools online certs later I landed the gig that started my development career.
I would suggest that any employer who puts value in a W3Schools certification is not somewhere you want to work.
The HTML quiz[1] they recommend to prepare for the certification test includes questions like:
5. What is the preferred way for adding a background color in HTML?
* <body background="yellow">
* <body style="background-color:yellow">
* <background>yellow</background>
(hint: none of them)
10. How can you open a link in a new browser window?
* <a href="url" target="_blank">
* <a href="url" new>
* <a href="url" target="new">
I submit when you're changing careers you typically don't have the luxury of picking and choosing your employer. If you're between jobs the landscape is making rent, career fulfillment doesn't even factor in.
Incidentally while the company was a total sweatshop the job turned out to be a fantastic opportunity. I was able to work with a broad array of technologies in a professional setting and build my professional network. I am now a senior developer for a fantastic company that's helping make the world a better place.
I think any beginner would love to have a [cross platform] offline browse-able reference/tutorial/guide whatever, be it MDN or W3Schools. Going to google for every damn thing is just a waste of time. And, for people with little stacks, it usually deviates them making them forget what they were trying to do in the first place. I am talking about something like php.net's offline 'chm' file. But, for html, javascript and css. Does anything exist already?
Long time ago when I was a newbie, I used w3schools to ramp up on web basics. The format was easy to use. I still to back occasionally for a quick double check on syntax.
For naysayers that believe that better options exist in the space for newbies, perhaps they could provide links to these resources.
Comments wouldn't solve much, I fear. For example take a look at PHP's documentation or MSDN. Both have community content in form of comments. In PHP's case it's a few helpful hints and a lot of bad example code in said comments. Or years-old discussions no one really needs anymore. On MSDN the comments are pretty much only used for P/Invoke signatures of Windows API calls (which is helpful, but I'd argue they're not really the point of comments).
While I never used w3schools to learn anything, their DOM and CSS references are of immeasurable value and I constantly find myself hitting that part of their site.
simple : MDN is crap, not SEO friendly and not synthetic.
For instance , i want a fast sum up of regexps with Javascript : the W3School shows a short table with the main keywords , that's all i need. It's like a cheat sheet.
MDN is verbose ,badly written , accurate maybe, but i dont want 50 exemples on Proxies or Generators , i dont care about them.
Now i agree , the name is confusing , there are errors , but until folks at Mozilla learn to write a usefull resource , i'm not going to read their wiki.
2 other good refs : the blackberry javascript ref is great, and the MS javascript ref is good too. Mozilla JS ref is just dreadfull.
There is good reason why W3School is popular, because it written for humans.
I find the argument about wiki-fying bizarre. Do people really want W3Schools wikified?
In my experience, wiki programming/documentation resources, with a handful of exceptions, are horrible, abandoned places.
Most are are made into wikis because they didn't have enough content in the first place, and there was some misguided notion that the users will just "jump in" and create it.
> They Appear Affiliated With The W3C
> For those in the know the W3C is the World Wide Web Consortium, it is an international organization that governs the web. W3Schools rides off the notoriety of that name despite being unaffiliated. Is that really a complaint? How many _Java_Script developers are out there that think this is an issue?
I think this is my biggest issue with W3SChools and he just kind of brushes it off.
Masquerades of this kind have always been a pet peeve, such as how all Blue Moon materials try very hard to present it as a microbrew, when its a Coors product. People think they're supporting some small company, and Coors is intentionally duping them.
JavaScript, by the way, was a name change based on a mutual co-marking deal. W3School's name is not.
> [about Wikifying] Again, I’d love to see it happen – but that doesn’t mean it should happen.
Funny, I just edited the MDN today. It is a far better resource, wiki-fied, with no ads, and Mozilla is always looking for helpers. If you'd love to see it happen, help it happen.
https://developer.mozilla.org/en-US/
"It's the Web. You drive."
(In traditional HN fashion I'd like to write an Ode to the MDN post, alas I haven't got the time tonight!)