7 ms·
Nobody denies that W3Schools is a terrible place to learn how to program. Their examples are outdated, insecure, and don't really explain why things work in a c
by kijin 13y ago
Nobody denies that W3Schools is a terrible place to learn how to program. Their examples are outdated, insecure, and don't really explain why things work in a certain way. Their tutorials are optimized for copy & paste, and God knows how many security bugs in the wild are due to somebody copying W3Schools.
But W3Schools also carries some of the most easy-to-use indexes of pretty much everything related to web development. Can't remember the exact name of that CSS property and its possible values? Can't remember the order of arguments of a JS string/array function? Go to W3Schools and browse their lists, get the answer in 5 seconds.
Of course, there's Mozilla Developer Networks, too. But MDN's CSS Reference [1] is just an alphabetical list of CSS properties with no explanation. W3Schools' CSS Reference [2] is neatly categorized, and each entry has a short explanation next to it. Very useful when you're trying to remember, for example, "word-wrap: break-word", which is not the same as "word-break: break-all".
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/Reference https://developer.mozilla.org/en-US/docs/Web/CSS/Reference
[2] http://www.w3schools.com/cssref/default.asp http://www.w3schools.com/cssref/default.asp
W3Schools is good ol' Web 1.0 stuff. Just some lists and a bunch of links. No need to ask somebody and wait for an answer. No need to watch any annoying videos. No need to follow an animated tutorial designed by someone who thinks they know how a person should learn programming. W3Schools is like an old dictionary. A dictionary isn't particularly helpful when you're trying to learn a foreign language properly, but it's quite handy when you're face to face with a foreigner and you need to think up a word for "toilet paper" quickly.
I use W3Schools when I need to remember something quickly, and MDN when I need to learn more deeply about it. When I write CSS, I always keep W3Schools open in one tab and MDN in another tab. I wish somebody would link W3Schools' lists to MDN's details. That would make the best of both worlds.
- j_baker 13y agoOut of curiosity, what examples are insecure?
- jre 13y agoTheir SQL examples don't seem to perform any kind of input sanitization. They just use raw $_POST. http://www.w3schools.com/php/php_mysql_insert.asp http://www.w3schools.com/php/php_mysql_insert.asp
- Killswitch 13y agoI give them credit for using MySQLi and not mysql_* though. I still suggest PDO.
- kijin 13y agoPretty much every PHP + MySQL example. For example, SQL injection: http://www.w3schools.com/php/php_mysql_insert.asp http://www.w3schools.com/php/php_mysql_insert.asp Perhaps to their credit, they have a two-part tutorial on email sending, one titled "PHP Email" and the other "PHP Secure Email". Also, their form handling tutorial is followed by another tutorial on "validation" (by which they seem to mean a combination of HTML escaping and outdated defenses against SQL injection). But most people are just going to copy and paste the first tutorial without looking at the second.
- Killswitch 13y agoI can't speak for anyone else as I don't and have NEVER used W3Schools for anything related to PHP or MySQL but used PHP's manual and MySQL docs for anything, but when someone needs help and asks me, I usually use my experience and write up a quick example and do not go through the whole sanitizing of inputs and that, as they're just an example and sometimes are written right on the spot but I do let them know it's only an example and not to be copy and pasted into their documents and that they should properly secure their stuff with input sanitization.
- cabalamat 13y ago> But W3Schools also carries some of the most easy-to-use indexes of pretty much everything related to web development. Which is why I use it. Any competitor needs to beat it in this department.
- RBerenguel 13y agoIndeed. I'm always ashamed of using it, but I have a stupid tendency to forget css selectors from time to time (I don't do web design or tweaking that often) and the same goes for how string.match or regexp.test or the likes in JS.
- moocowduckquack 13y agoNever be ashamed of looking up a reference if it saves you time, besides web standards are too much of a moving target to bother committing all of them to memory.
- kiba 13y agoI suggest memorizing it. Knowing it from the top of your head is much faster than googling or looking it up. That being said, a reference is helpful in the beginning stage.
- ulisesrmzroche 13y agoWhy does speed (what, like at most a few seconds?) matter in this case? Just a waste of memory if you ask me.
- moocowduckquack 13y agoI been at this since the mid 90's and I really can't be bothered committing it all to memory every time it changes. I keep meaning to buy a copy of this - http://www.visibone.com/products/everythingbook.html http://www.visibone.com/products/everythingbook.html - although my standard memory jog for web development is still "view source", same as it ever was.
- badman_ting 13y agoI much prefer MDN as a reference. The examples are better and overall it doesn't feel so outdated, important in web development. Just put MDN in your search query.
- auxbuss 13y agoYou might like to try http://devdocs.io/ http://devdocs.io/
- eddietejeda 13y agoThanks for sharing this! I've spent only a few minutes in the site and loving it so far!
- cygni 13y agoThis is fantastic, thanks for sharing. Now I just wish there were something like this for Python/Django...
- lnanek2 13y agoAgreed. Talk is big, but this person hasn't done anything. Heck, they could have thrown up a wiki and written a little one sentence starter page about each CSS tag in the time it took them to write the post, then ask for contributions.