

Lay off W3Schools - qubot
http://www.sagegerard.com/index.php?cID=152

======
sachingulaya
Except w3schools isn't approachable and it isn't for beginners. It's jargon
loaded and filled with a bunch of information that means _nothing_ to
beginners.

Let's look the page for explaining 'div':
<http://www.w3schools.com/tags/tag_div.asp>

"The <div> tag defines a division or a section in an HTML document.

The <div> tag is used to group block-elements to format them with styles."

Oh, I get it. Its for grouping block-elements(??) to format them with
styles(??).

The above is followed by this fantastic tip: "Tip: The <div> element is very
often used together with CSS, to layout a web page."

Looking at their "examples" its an in-browser html editor with un-annotated
code that makes a table suitable for the web circa 1995.

Then it trails off in to sparse definitions of the attributes for the div tag
with an excessive amount of discussion about web standards compatibility.

Normally I wouldn't gripe about an awful tutorial site but w3schools
consistently ranks high in google queries for questions about html tags.
Personally I've never left w3schools with an answer to the question that led
me there. That signals to me that it is indeed a failure.

~~~
tkahn6
> Except w3schools isn't approachable and it isn't for beginners.

I too had the exact opposite experience. I found the HTML, CSS, and Javascript
tutorials extremely intuitive and well-presented when I was in 7th grade. I
ate them up.

~~~
andrewfelix
Agreed. I don't depend on it any more, but w3schools helped me make the
transition from WYSIWG web site building to hand coding.

------
polemic
> "...Some folks have started voicing hostile opinions..."

A little late to the game, there.

This post ignores two important points:

1\. There _are_ a lot of much better sites out there (linked to from W3Fools,
even). Selectively highlighting a single post is misleading.

2\. W3Fools is not so much for the benefit of W3Schools, but for people who
_link_ to W3Schools as reference in blog posts, SO answers, etc. There are
lots of great reference sites (MDN!) that provide much better material, but
circumstances have given W3Schools a lot of GoogleFu. That needs to change.

~~~
qubot
#1: Where is one post highlighted? The article (lazily) acknowledges other
competition, and you even quoted said acknowledgement.

#2: Yes, this point is ignored because it was not really the focus. The
benefit you speak of can be realized without statements like "W3SCHOOLS IS
TROUBLE" in big scary letters on W3Fool's homepage. The attitudes of the
people involved and the clarity of their content are the focus of the article.

~~~
polemic
#1: Paragraph 3 - "...sometimes even dead silence..."

#2: OP misses the point of _why_ there is so much hostility. If W3Schools was
on page 3 for (chosen utterly at random)"getElementById" on Google, no one
would care. Predictably, however, it's number 1. That's pretty dire - I would
hope that the top results for common questions would be quality resources.
Which W3Schools is not. There is a greater good here, which is not served by
continuing to promote W3Schools _the_ top developer resource.

~~~
kamjam
#2: How is that w3schools fault that they are listed top of Google's search
results? What do you expect them to do, somehow reduce their ranking? Surely
it is the job of other sites to increase their ranking?

------
DanBC
> _W3Schools has already announced that it's content should be used at the
> user's risk, which means they waive all responsibility for inexperienced
> users. It is not their job to babysit developers, since it is the
> developer's job to research other sources and improve his understanding
> through rigorous practice and peer feedback._

That's awful advice for beginners, who have no idea why some things are good
and others are dumb.

Some people will validate their pages. Some of those people will know what the
errors mean, but decide that it's okay to have those errors. Other people will
get a bunch of errors, and not really understand what's going on, and will
just publish anyway because "it works in the browsers I tested on".

~~~
qubot
> "That's awful advice for beginners"

It's not bad advice to suggest that developers be stupid if they are the type
to learn from their mistakes. If they are not the type to learn from their
mistakes, why are we worried about them?

~~~
DanBC
Being given correct information but making mistakes, and then learning from
those mistakes in your efforts to recreate the good advice, is a useful
learning technique.

Being given incorrect information, and making mistakes, and not knowing you've
made mistakes, is not a useful learning technique.

And while these people are making mistakes and learning from them their
customers are suffering buggy code and everything that goes with that - data
loss and insecurity at the extreme end and unexpected behaviour at the mild
end.

~~~
qubot
> "Being given incorrect information, and making mistakes, and not knowing
> you've made mistakes, is not a useful learning technique."

W3Schools has pointed out that users take a risk with its content, and it made
no claim over the quality of its code. The only element they have authority
over is its clarity, and that is what's important. The information may be
lacking, but I stick by my guns when I say that crap code can still make some
concept that a tutorial revolves around clearer. If other elements are not
relevant to the tutorial, I do not believe it is fair to blame the author for
excluding them.

------
shazow
w3schools is not the best resource, but 90% of the time, when it shows up as
the top result on Google, it tells me exactly what I want to know.

Some common examples:

\- What values does CSS attribute white-space take? #1 result on Google for
"css white-space" is <http://www.w3schools.com/cssref/pr_text_white-space.asp>
which has exactly what I need to know.

\- What members does the Array object in JavaScript have? For the query
"javascript array", the first result is an overview of what an Array is, but
the second result is the object reference which is exactly what I need.

When learning, looking things up is one of the most common actions. Whenever
w3schools comes up, it doesn't necessarily make me smile but it's
reliable^Wconsistent so I know what to expect. It maintains a lot of utility,
unlike good ol' experts-exchange.

~~~
kibibyte
I highly recommend <http://dochub.io/> over w3schools. Not only does it source
MDN, which is much more accurate, but it allows you to instantly search for
whatever CSS property or JS function/object you're looking for. (The only
thing that I find disadvantageous is that you have to know the name of what
you're looking for)

~~~
jasonhanley
Is there a similar site that is less Firefox-specific?

~~~
jacobr
MDN is not Firefox specific, it intends to document JavaScript, CSS and HTML
in general.

------
ekm2
The first time i wanted to learn HTML and CSS,i happened to come across the
W3fools page.So i followed their advice and their recommended resources.What
do i get?Tons and tons of STORIES about secure code,best practices,patchy
examples,and some sections clearly marked "This notes are out of date".Man,i
have barely learned to switch on a computer.What are you talking about??

------
mdm_
Not sure if you're serious or just trolling (you seem to be posting snippy
responses to everyone's comments here), but there's a big difference between
something like O'Reilly's Missing Manual or Head First series and w3schools.
As demonstrated on the w3fools site, some of the information on w3schools is
inaccurate or just plain wrong. The O'Reilly books have a much higher degree
of accuracy yet remain approachable, beginner-level texts.

~~~
qubot
> "you seem to be posting snippy responses to everyone's comments here"

Sorry about that. It is not my intention to be rude or troll, but I've got a
lot of discussions to manage. I went ahead and edited out some needlessly
harsh bits here and there, but I'm not touching ones where I am just
reciprocating the same attitude as the parent post.

I'll watch myself more carefully, so thanks for the reminder.

> "The O'Reilly books have a much higher degree of accuracy yet remain
> approachable, beginner-level texts."

Yes, but they still promote outdated and insecure approaches. As a beginner, I
actually got yelled at for using an image map for obvious reasons. The edition
of the book I used did not discourage them, but I still swear it was a nicely
written text.

As for inaccuracies... W3Schools has been addressing them if the cited sources
were reliable.

------
DigitalSea
Yeah, how dare we as developers criticise a website disseminating wrong
information like W3Schools. It's not their fault they get tonnes of Google
traffic and have made no effort whatsoever to bring their site inline with
other equally great resources.

The first Google result for the query, "div tag" is a W3Schools page. The page
then cringefully displays a sample piece of code with an inline style colour
attribute that probably would have been acceptable in 2002. Don't get me
wrong, as a developer I think W3Schools can serve a purpose, but I've often
found myself on a W3Schools reference page and not leaving a single useful
piece of information.

It feels like W3Schools hasn't changed since it launched. I'm guessing the
software company that runs it has better things to do and doesn't really care
whether or not they're miseducating people.

And by the way, I think the author is about 7 years too late on the W3Schools
hate train, the article reads like hating W3Schools is a new thing.

~~~
qubot
> "I think the author is about 7 years too late..."

If Hacker News participants ran the world no one would care about history. We
can discuss things that happened in the past. It sure as hell sparked
discussion here.

> "Don't get me wrong, as a developer I think W3Schools can serve a
> purpose..."

And it does. It's easy to understand, which is not something you find often in
sites trying to teach something. As I said elsewhere, good code makes crappy
tutorials since it introduces more concepts that can confuse and overwhelm a
inexperienced reader.

------
petercooper
_I suspect that sources like W3Schools, the O'Reilly Missing Manual series and
DirectXTutorial.com leave out good practices to avoid overwhelming the
reader._

This idea is sometimes called Wittgenstein's ladder:
<http://en.wikipedia.org/wiki/Lie-to-children> \- "My propositions serve as
elucidations in the following way: anyone who understands me eventually
recognizes them as nonsensical, when he has used them - as steps - to climb
beyond them. He must, so to speak, throw away the ladder after he has climbed
up it."

~~~
qubot
I agree with everything but the last bit. If you throw away the ladder,
doesn't that represent forgetting the information that actually helped you?

~~~
sirclueless
No, you're still on top of the mountain, you just no longer need the rungs.

~~~
qubot
Maybe not, but I can still appreciate them and remember what they offered.

------
pbreit
W3Schools is not perfect but it is the best HTML/CSS reference that I've seen.
The W3Fools effort is sort of well-intentioned but overly disrespectful. The
supposed alternatives linked from W3Fools are hideous.

W3Fools energy would be _MUCH_ better spent on developing an alternative.

~~~
ricardobeat
We have MDN, dochub, sitepoint, etc, they all have up-to-date, correct
content. We don't need another one. What's hideous about them?

~~~
maigret
MDN: Too Mozilla centric. I certainly hate devs who make Firefox-only pages
more than ones who look up on w3schools. And I've met a few of them ;)

dochub: Where are the tutorials?

Sitepoint: The structure is messy. It looks like a blog, but a historical
structure is awful for learning. I want topic categories. Also lots of things
I don't care about - books, courses - I just want references and tutorials!
MDN is better from this side.

I'm not convinced. You're not going to kill w3schools if you don't understand
why so many folks go to that site.

Personally I didn't know dochub, and might probably get back soon on this
site. It's clean, and the information is useful, but only when you already
understand well what you're doing. It's not for learning the Web concepts.
Also, it misses direct mention of browser support for every feature.

~~~
theevocater
Have you used the MDN? It's hosted by Mozilla but it's an open wiki. Almost
any bug or oddity in a browser will likely be listed. There are pages for
essentially every extension for most browsers as well. Webkit's extensions
live at [https://developer.mozilla.org/en-
US/docs/CSS/CSS_Reference/W...](https://developer.mozilla.org/en-
US/docs/CSS/CSS_Reference/Webkit_Extensions) for example.

The MDN also has fantastic tutorials (<https://developer.mozilla.org/en-
US/docs/CSS/Getting_Started> is the CSS one) and lots of examples of good or
complicated HTML5, JavaScript and CSS3.

I see the MDN catch a lot of unwarranted flack and i don't understand why.
Shoot I use chrome as my main webrowser and I still spend most of my time on
dochub.io (which is sources entirely from the MDN) and the MDN itself.

~~~
maigret
I use MDN, not extensively though. I like this site, it is useful and very
well organized, but feature availability (browser & level) is not as well
documented as in w3schools I find. Chrome is probably not the issue here,
rather - let's name it - IE.

MDN is a great site, don't misunderstand me - but in this case I am not sure
this is the right hoster. I used MDN for some JavaScript issues like one year
ago, and it was then running well on FF but not at all on IE. Maybe they have
all corrected that since, but I'm not seeing that clearly now.

dochub looks nice, but again it is not something for beginners.

Also, MDN is client only (which is one point making me say it is very Mozilla
oriented). w3schools has this part about PHP which is very useful for
beginners. Again, my point hasn't changed. MDN and others are more useful
resources to experienced web devs than w3schools, but w3schools is the better
point to begin with when you don't know about web development and want a clear
overview.

~~~
theevocater
_shrug_ different strokes. I learned to website via the MDN.

------
ceejayoz
> It is unrealistic to expect beginners to learn what good code is before what
> code is in the first place. Aspiring programmers do not yet understand the
> nuances of their trade, and often overlook security concerns and the
> importance of formal documentation.

That's no excuse for ignoring even the basics. Some of the w3schools tutorials
are like starting a teenager's first driving lesson with "run down as many
pedestrians as you want, we'll teach you how to not drive on sidewalks later".

~~~
qubot
No, they're not. Quit exaggerating and let beginners be beginners.

~~~
ceejayoz
C'mon. Their "PHP MySQL Insert Into" tutorial
(<http://w3schools.com/php/php_mysql_insert.asp>) uses direct $_POST data with
no escaping. No mention of security is made in the _entire_ "PHP Database"
section.

These tutorials need a massive red flashing warning saying "we've left
critical stuff out, you will get your site defaced if you code like this".

Newbies don't need to be expected to know good code. That's no excuse for
presenting actively _dangerous_ examples to them with no warning.

~~~
qubot
Good code makes crappy tutorials. If I was a moron, I don't care if the
examples inadvertently summons swarms of locusts if I understand them quickly.

Now, I would be all for W3Schools making their disclaimer more noticeable. It
is there, though.

~~~
ceejayoz
> Good code makes crappy tutorials.

Not necessarily, and bad code can make _dangerous_ tutorials.

~~~
qubot
> "Not necessarily, and bad code can make dangerous tutorials."

W3Schools is not responsible for what devs do, and safe code means introducing
more concepts that can leave the scope of a tutorial.

I agree the code sucks, but we're talking about minimizing time to understand
something, not security. Save that for the security tutorials.

~~~
dorward
How are people supposed to know that they need to go and find a separate
security tutorial (and not a W3Schools one, they don't have one)?

Following that tutorial introduces massive security holes into a site. Those
security problems need to be discussed. At the very least they need a warning
saying "Don't do this until you understand the security issues discussed in
THIS OTHER GUIDE".

~~~
qubot
> "How are people supposed to know that they need to go and find a separate
> security tutorial (and not a W3Schools one, they don't have one)?"

Whenever they realize they don't understand something. This could happen by
reflecting on the material or after making a mistake.

> "Following that tutorial introduces massive security holes into a site."

I've touched on this on other parts of this page.

~~~
dorward
> Whenever they realize they don't understand something.

Which is quite likely to be when their customers' data gets leaked or altered.
That's a really bad time to discover a hole in your understanding.

~~~
qubot
> "Which is quite likely to be when their customers' data..."

Who would hire someone who only has W3Schools knowledge? Are we really worried
about them?

~~~
mnicole
> Who would hire someone who only has W3Schools knowledge?

And this pretty much negates your whole argument. If you ever plan on getting
hired or being taken seriously enough to get clients, this isn't the resource.
How pissed would you be to find out at an interview or after a breach that the
site you used to learn all this stuff was the laughing stock of developers?

------
esolyt
To be fair, W3Schools is simpler, cleaner and more organized than the
alternatives suggested by W3Fool. It is still the fastest way to start
learning about a web technology. But perhaps it would be best if they wikify
it.

~~~
qubot
Maybe, but I would be concerned about a future where W3School's increase in
accuracy hurts it's clarity.

------
jasonhanley
I agree. I've been developing web stuff since '98 or so, and w3schools is
quick, easy, and I've never run into an accuracy problem that affected a real,
production site. Most are academic.

Sure, there's better sites out there, but sometimes you just have to trust the
Google.

If the site shows up #1 for 90% of web stuff you're looking for, then others
obviously found it useful too.

------
ch0wn
I think the important point is, that there _ARE_ better alternatives out
there. There's just no point in defending a mediocre and potentially
harmful[0] learning platform. There's no need for hostility, just move on.

[0]<http://en.w3schools.com/php/php_ajax_database.asp>

------
sandollars
Step 1: Log into Google.com

Step 2: Block w3schools at <http://www.google.com/reviews/t>

> Sites will be blocked only for you, but Google may use everyone's blocking
> information to improve the ranking of search results overall.

~~~
kintamanimatt
That blocking no longer works for me.

------
corkill
I have learnt/used as reference way more from w3schools than I ever will from
the people who created w3fools.

So kudos to them for criticizing the crap out of the site? (I do also see what
they are doing as valuable, but I'd agree it's needlessly hostile).

I of course didn't learn exclusively from w3chools (I doubt anyone does), it's
just a resource. Not perfect, but it's useful.

------
ctrlfrk
The road to hell is paved with good intentions.

~~~
andrewfelix
Except w3school is a road to heaven paved with bad instructions. None the less
it _is_ a road, and it's approachable.

~~~
ctrlfrk
Oh no, if you follow the instructions on that site you're going straight to
code hell. Yes it is very approachable and enticing, but it's wrong.

~~~
qubot
I came out of it just fine. Satan had some good contacts.

~~~
ctrlfrk
That's the problem though, people who have been misled by w3schools often
don't even realise it.

~~~
qubot
I did. I am fully aware of the inaccurate content I ran with from w3schools,
which is why I corrected myself. That does not change the fact w3schools was
there when I needed a source that was easy to understand.

------
lbcadden3
domain: w3fools.com created: 08-Jan-2011

<http://whois.domaintools.com/w3fools.com>

~~~
qubot
The age of what is being talked about does not determine the relevance of the
conversation and what it entails.

------
jpalomaki
From the w3fools I learned the valuable trick that if you add "mdn" to your
Google search you are likely to get a link pointing to Mozilla Developer
Network.

------
wilhil
"Some folks have started voicing"... How old is the article!?

------
briandear
W3 is killing it in the SEO department though. It'd be nice to buy those guys
and use that google-juice for the forces of good.

------
gdg92989
What is it 2008?

~~~
qubot
The age of what is being talked about does not determine the relevance of the
conversation and what it entails.

------
executive
nice url structure you got there

~~~
qubot
<http://www.sagegerard.com/blog/lay-off-w3schools/> works. Edit mode in
Concrete5 does not use pretty links.

~~~
executive
considering you use this mess I'm not suprised you support w3schools:
[https://github.com/concrete5/concrete5/blob/master/web/concr...](https://github.com/concrete5/concrete5/blob/master/web/concrete/dispatcher.php)

~~~
qubot
Cool. I'm glad you care. You can clean it up. We done here?

