
An Ode To W3Schools - jon_kuperman
http://www.jonkuperman.com/an-ode-to-w3schools/
======
simonsarris
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.

<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
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.

~~~
dorward
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>.

------
dorward
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.

~~~
pretoriusB
That happens in 99% of PHP+MySQL tutorials out there...

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.

~~~
bbotond
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.

------
andrewguenther
No. By visiting their site, you say that this is all okay. On top of these
things, W3Schools has also engaged in some sketchy SEO tactics.
([http://www.itworld.com/software/261486/w3schools-hubbub-
over...](http://www.itworld.com/software/261486/w3schools-hubbub-over-seo-
tricks-inaccuracies))

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
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.

    
    
      * https://developer.mozilla.org/en-US/docs/JavaScript
    

_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:

    
    
      * http://www.alistapart.com/articles/css-positioning-101/
    

_Vertical Alignment_

    
    
      * http://css-tricks.com/what-is-vertical-align/
    

_Stickyfooter_

    
    
      * http://lazylegs.info/articles/sticky-footer.html
    

_Shrink-wrapping floats_

    
    
      * http://haslayout.net/css-tuts/CSS-Shrink-Wrap
    

_How to deal with IE_

    
    
      * http://haslayout.net
    

_Webdev Rises_

 _HTML/CSS/JS design patterns_

    
    
      * http://www.alistapart.com
      * http://css-tricks.com
      * http://addyosmani.com/resources/essentialjsdesignpatterns/book/
      * http://ui-patterns.com
    

_Browser inconsistencies reference_

    
    
      * http://www.quirksmode.org
      * http://caniuse.com
    

_HTML5_

    
    
      * http://diveintohtml5.info
      * http://html5doctor.com
    

_CSS3_

    
    
      * http://css-tricks.com

~~~
SiVal
An upvote and a thanks from me, too.

------
bpatrianakos
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".

~~~
scottshea
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

------
Diamons
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.

~~~
nickpresta
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.

For comparison sake:

[https://developer.mozilla.org/en-
US/docs/HTML/Element/articl...](https://developer.mozilla.org/en-
US/docs/HTML/Element/article)

<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.

~~~
ChuckMcM
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?

~~~
carey
Mozilla have their own called Thimble at <https://thimble.webmaker.org/>. Some
more interaction between MDN and Thimble would be nice.

------
donebizkit
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.

------
ronreiter
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.

------
dmauro
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.

~~~
imjared
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.

link: <http://www.google.com/reviews/t> screenshot:
<http://cl.ly/image/2l2r3f3y1a3x>

------
aviswanathan
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.

------
Kiro
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".

------
jamesmcn
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.

~~~
camus
that's why everybody who wants to learn Js reads the spec first,right?

------
knieveltech
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.

~~~
garethadams
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">
    

(hint: two of them)

[1]: <http://www.w3schools.com/quiztest/quiztest.asp?qtest=HTML>

~~~
Isofarro
Question 10 - your hint is incorrect.

target="_blank" opens a link in a new browser window every time.

target="new" opens a link in a browser window called "new". If a window of
that name exists it uses it, if it doesn't exist it creates a new window.

(Assuming the browser doesn't override or circumvent the opening of links in
something other than the current window)

------
calinet6
The problem with W3Schools is not that it's horribly bad in any way.

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
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?

------
earroway
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.

~~~
ygra
<http://news.ycombinator.com/item?id=4803730> perhaps?

~~~
earroway
Thank you.

------
narzac

       W3SCHOOLS

AN INTERVENTION

<http://w3fools.com/>

------
wyuenho
I'd add another reason to why w3schools sucks:

[http://www.impressivewebs.com/web-development-search-
results...](http://www.impressivewebs.com/web-development-search-results-
manipulated/)

------
ck2
If they won't wikify all they need to do is add comments to their page via
disqus or some other third party system.

Then people can post corrections and examples.

They can disallow links if they are worried about spam.

~~~
ygra
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).

------
debacle
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.

------
DoubleMalt
W3Schools was indispensable for me till I found the light in the form of MDN
;)

------
camus
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.

~~~
saraid216
I was going to suggest that you contribute, and then I looked at your idea of
whitespacing English and decided not to.

~~~
camus
Perfect whitespacing doesnt make a doc readable obviously, so no i'm definetly
not interested.

------
pretoriusB
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.

