Hacker News new | past | comments | ask | show | jobs | submit login
An Ode To W3Schools (jonkuperman.com)
69 points by jon_kuperman on Nov 19, 2012 | hide | past | favorite | 62 comments



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!)


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 think the reason a lot of newbies start with them is because of a straight to the point easy to read format.

They may not be the most accurate or comprehensive, but the low barrier to entry is EXACTLY what newbies are looking for.


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.


That may be why they start, but nobody would come back if the site wasn't so terribly useful, concise and easy to navigate.


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?


Nobody ever navigate in w3schools, they come back from Google each time.


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 like the private Federal Reserve and Federal Express.


Same goes for Stella Artois, owned by Anheuser-Busch


I've never met anyone thinking Stella Artois was a microbrew. Interesting to learn this about Blue Moon though.


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.


Wow. I am really ashamed to admit, despite years of SitePoint, Mozilla Forums and StackExchange use, that I have never come across the MDN :/


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.


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.


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.


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

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.

  * 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


An upvote and a thanks from me, too.


Thank you. Great listing


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.

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.


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?


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


There are many sites like that. The one I use most frequently is http://jsfiddle.net/


The w3schools link shows the example right away, with the Mozilla link I have scroll half way down the page to find it.


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.

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


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.


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


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">
(hint: two of them)

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


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)


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.


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.


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.



Thank you.


   W3SCHOOLS
AN INTERVENTION

http://w3fools.com/


I'd add another reason to why w3schools sucks:

http://www.impressivewebs.com/web-development-search-results...


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.


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.


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


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 strongly disagree with you. What i'm looking for is complex examples and full documentation. MDN documentation is godness.

For example:

- http://www.w3schools.com/tags/canvas_drawimage.asp

- https://developer.mozilla.org/en-US/docs/Canvas_tutorial/Usi...


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


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


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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: