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.
My experience says the opposite. Sorry.
I made websites sporadically from '97-'03 and then started again in Dec '11. My criticism of w3schools is from my personal experience with the site over the last year.
I was surprised when I found out that w3schools actually intends to teach people html/css. Until recently, I thought it was universally acknowledged that they're a content farm.
Google downgraded w3schools in search. It used to be constently the first result. Now it is rather 5th or 6th.
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.
Yes, some people find it useful when they don't know better, but I suspect those people at that point they would have found almost any tutorial useful.
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.
> it's reliable
That's the whole point of w3fools: w3s is not reliable.
> So? The 2nd result (MDN) does the same, looks better, and almost never contains gross errors/bad practices.
So indeed. I have nothing against MDN--it's great. If it was the first result, I'd click on it instead.
This unreliable (albeit crystal-clear) source did not stop me from scoring a good portfolio and happy clients (http://linkd.in/ON5eHL).
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."
Let's say you begin with markup, and just put the style as a tag to begin with. At some point, you know what a style does, but you have to throw the ladder that it has to be inside the markup, and externalize it to .css file.
Learning is a progressive experience.
So, for example, I might learn to build a Rails app using the scaffolding system, but once I know Rails well, I wouldn't.
W3Fools energy would be _MUCH_ better spent on developing an alternative.
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.
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.
#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.
#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.
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".
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?
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.
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".
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.
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.
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.
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.
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.
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.
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.