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.
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).
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.
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.
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 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.
[+] [-] simonsarris|13 years ago|reply
> 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!)
[+] [-] rpm4321|13 years ago|reply
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.
[+] [-] manaskarekar|13 years ago|reply
They may not be the most accurate or comprehensive, but the low barrier to entry is EXACTLY what newbies are looking for.
[+] [-] jamesjporter|13 years ago|reply
[+] [-] KaoruAoiShiho|13 years ago|reply
[+] [-] Overclock|13 years ago|reply
[+] [-] nthitz|13 years ago|reply
[+] [-] seriocomic|13 years ago|reply
[+] [-] dorward|13 years ago|reply
In my book, that's unforgivable and they won't get any slack from me until they fix it.
[+] [-] bbotond|13 years ago|reply
[+] [-] jiggy2011|13 years ago|reply
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.
[+] [-] unknown|13 years ago|reply
[deleted]
[+] [-] pretoriusB|13 years ago|reply
And looking a little closer, even in the most reputable sources, you can found XSS and especially CSRF vulnerabilities aplenty.
People should not get security advice from a beginner's tutorial anyway, even if it covered XSS, it would have tons of other problems.
[+] [-] andrewguenther|13 years ago|reply
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/)
[+] [-] wyuenho|13 years ago|reply
_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.
Things that you must learn about CSS Eloquent JavascriptAn easier to read book on JS.
MDNTheir resource on Javascript is a must read basic reference for all new JS developers.
_Webdev Returns_How that you have a basic, but solid understanding of HTML, CSS and JS, you should start learning the more advanced stuff:
More practice on CSS positioning
Google css positioning, read anything besides the w3schools results, such as this:
Vertical Alignment Stickyfooter Shrink-wrapping floats How to deal with IE _Webdev Rises_HTML/CSS/JS design patterns
Browser inconsistencies reference HTML5 CSS3[+] [-] SiVal|13 years ago|reply
[+] [-] kami8845|13 years ago|reply
[+] [-] bpatrianakos|13 years ago|reply
[+] [-] scottshea|13 years ago|reply
[+] [-] Diamons|13 years ago|reply
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.
[+] [-] nickpresta|13 years ago|reply
For comparison sake:
https://developer.mozilla.org/en-US/docs/HTML/Element/articl...
http://www.w3schools.com/tags/tag_article.asp
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.
[+] [-] pjscott|13 years ago|reply
[+] [-] donebizkit|13 years ago|reply
[+] [-] ronreiter|13 years ago|reply
[+] [-] dmauro|13 years ago|reply
[+] [-] imjared|13 years ago|reply
link: http://www.google.com/reviews/t screenshot: http://cl.ly/image/2l2r3f3y1a3x
[+] [-] aviswanathan|13 years ago|reply
[+] [-] Kiro|13 years ago|reply
[+] [-] jamesmcn|13 years ago|reply
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.
[+] [-] camus|13 years ago|reply
[+] [-] knieveltech|13 years ago|reply
[+] [-] garethadams|13 years ago|reply
The HTML quiz[1] they recommend to prepare for the certification test includes questions like:
(hint: none of them) (hint: two of them)[1]: http://www.w3schools.com/quiztest/quiztest.asp?qtest=HTML
[+] [-] calinet6|13 years ago|reply
It's that it's so consistently mediocre, and at the same time, so prevalent.
We need not accept this. The task that they're trying to achieve can be done so much better.
[+] [-] gprasanth|13 years ago|reply
[+] [-] earroway|13 years ago|reply
For naysayers that believe that better options exist in the space for newbies, perhaps they could provide links to these resources.
[+] [-] ygra|13 years ago|reply
[+] [-] narzac|13 years ago|reply
http://w3fools.com/
[+] [-] wyuenho|13 years ago|reply
http://www.impressivewebs.com/web-development-search-results...
[+] [-] ck2|13 years ago|reply
Then people can post corrections and examples.
They can disallow links if they are worried about spam.
[+] [-] ygra|13 years ago|reply
[+] [-] debacle|13 years ago|reply