{"id":456,"date":"2011-08-04T06:45:52","date_gmt":"2011-08-04T10:45:52","guid":{"rendered":"https:\/\/www.goer.org\/wordpress\/search_engines_and_js_tutorials_still_appalling"},"modified":"2013-11-17T16:09:40","modified_gmt":"2013-11-17T16:09:40","slug":"search_engines_and_js_tutorials_still_appalling","status":"publish","type":"post","link":"https:\/\/www.goer.org\/Journal\/2011\/08\/search_engines_and_js_tutorials_still_appalling.html","title":{"rendered":"Search Engines and JS Tutorials: Still Appalling"},"content":{"rendered":"<p>About a year ago, I observed that <a href=\"\/Journal\/2010\/09\/ancient_html_and_js_tutorials_are_choking_the_web_like_kudzu.html\">ancient HTML and JS tutorials were choking the web like kudzu<\/a>. Fast-forward to the present day, and&#8230; nothing has changed.<\/p>\n<p>Focusing on Google results for JS tutorials (Bing is equally bad):<\/p>\n<ol>\n<li>\n<p>On the first page of results for &#8220;javascript tutorial&#8221;, every single result ranges from bad to truly awful. My proxy for &#8220;bad&#8221; is, the first example A) uses fallback comments for Netscape Navigator 1.0 and B) uses <code>alert()<\/code> or <code>document.write()<\/code>. Most tutorials go rapidly downhill from there.<\/p>\n<\/li>\n<li>\n<p>The 1% of users who somehow manage to click through to the second page of results will finally stumble into the first good link in position #14 &#8212; <a href=\"http:\/\/eloquentjavascript.net\">Eloquent JavaScript<\/a> by Marijn Haverbeke. This is an excellent JavaScript resource, well-written and modern. I own the dead-tree book and recommend it highly. Haverbeke bills Eloquent JavaScript as an &#8220;introduction to the JavaScript programming language and programming in general,&#8221; but I think that aside from the first chapter on variables and control flow, the book is too sophisticated to be an introductory tutorial.<\/p>\n<\/li>\n<li>\n<p>The third page of results includes the <a href=\"https:\/\/developer.mozilla.org\/en\/JavaScript\/Guide\">Mozilla Developer Network JavaScript docs<\/a>, which are excellent but in no way a tutorial. It also includes a <a href=\"http:\/\/ejohn.org\/apps\/learn\/\">JS tutorial written by jQuery inventor John Resig<\/a>, targeted at experienced programmers. <em>Finally<\/em>, in position #29, <a href=\"http:\/\/javascript.info\/\">an actually useful JS tutorial site appears<\/a>, javascript.info. javascript.info is well-organized and comprehensive. It&#8217;s not hideously ugly and slathered with ads. The early lessons ignore legacy nonsense from 1995. It&#8217;s pitched at the right audience. We have a winner!<\/p>\n<\/li>\n<\/ol>\n<p>This state of affairs has made me angry. So angry in fact, that in a fit of pique I ran out and registered jstutorial.net. That&#8217;s like making someone mad enough to take a $10 out of their wallet and tear it up right in front of you. That&#8217;s angry.<\/p>\n<p>After the <a href=\"https:\/\/www.goer.org\/2011\/03\/the_yui_3_cookbook_is_underway.html\">YUI 3 Cookbook draft is done<\/a>, I&#8217;m going to check one last time to see if anything has changed. I&#8217;ve registered a domain name, people. <em>Don&#8217;t make me use it.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve registered a domain name, people. *Don&#8217;t make me use it.*<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-456","post","type-post","status-publish","format-standard","hentry","category-web"],"_links":{"self":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts\/456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/comments?post=456"}],"version-history":[{"count":2,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts\/456\/revisions"}],"predecessor-version":[{"id":624,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts\/456\/revisions\/624"}],"wp:attachment":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/media?parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/categories?post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/tags?post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}