21 Jul 2011

プログラミング経験者が JavaScript を学ぶためのリソース

久しぶりの更新ですが, お手軽アクセス稼ぎエントリです.

Hacker News を見ていたら面白い StackOverflow の質問を見つけました.

Page Not Found - Stack Overflow

プログラミングの経験はあるんだけど, JavaScript を勉強するのに良いリソース (本, ビデオチュートリアル, etc) はない? というもの. リンク集として有用だったので, ここにまとめてみます.

Douglas Crockford のビデオチュートリアル

最も支持を集めていたのは Douglas Crockford のビデオシリーズでした. 結構たくさん数があって, 基本を抑えたいなら昔のものが良く, 最近のものも歴史や ES5 のことを扱っていて面白いとのことです.

おそらく一番古いであろう "The JavaScript Programming Language" のシリーズは (全部ではないですが) 見たことがあったんですが, Crockford on JavaScript は知りませんでしたし, 興味を惹かれました.

The JavaScript Programming Language

※m4v ダウンロード注意

An Inconvenient API: The Theory of the DOM

※m4v ダウンロード注意

Advanced JavaScript

※m4v ダウンロード注意

Crockford on JavaScript

no title

  • Volume One: The Early Years
  • Chapter 2: And Then There Was JavaScript
  • Act III: Function the Ultimate
  • Episode IV: The Metamorphosis of Ajax
  • Part 5: The End of All Things
  • Scene 6: Loopage

JavaScript: The Good Parts

Crockford の著書である本書も同時に薦められていました. この本は 200 ページ程度でコンパクトにまとまっているので, プログラミングの基礎がわかっているが JavaScript は初めてという人には確かに最適だなと思います. 内容はもちろん良いものですし, Crockford 節を楽しみながら読み進めることができます.

Eloquent JavaScript

Eloquent JavaScript

各所ですこぶる評判の良い Marijn Haverbeke さんのフリーブックです (print 版 もあります). 特徴はなんといっても html でできていてサンプルコードを実行しながら学べる点です. いろんなブログやらなにやらで紹介されていて, もう定番になりつつあると思います. サイトトップには Brendan Eich からの推薦文も載っていてすごいです.

Mozilla のドキュメント

Mozilla Developer Network

Mozilla Developer Network (旧 MDC) にあるドキュメントです. JavaScript のイントロダクションとしては以下の文章がオススメだそうです (自分は知らなかったです).

A re-introduction to JavaScript (JS tutorial) - JavaScript | MDN

また MDC (MDN) といえばやはり JavaScript のリファレンス ですね. 関数の使い方などリファレンスをひきたい時は “hogehoge mdc” でググるのはもはや定番です.

その他

このへんからはロングテールな意見達です.

Javascript: The Definitive Guide
Javascript: The Definitive Guide (Definitive Guides)

Javascript: The Definitive Guide (Definitive Guides)

      <li><span class="hatena-asin-detail-label">作者:</span> <a href="http://d.hatena.ne.jp/keyword/David%20Flanagan" class="keyword">David Flanagan</a></li>
    
      <li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a href="http://d.hatena.ne.jp/keyword/Oreilly%20%26%20Associates%20Inc" class="keyword">Oreilly & Associates Inc</a></li>
    
      <li><span class="hatena-asin-detail-label">発売日:</span> 2011/05/10</li>
                                                      <li><span class="hatena-asin-detail-label">メディア:</span> ペーパーバック</li>
      <li><span class="hatena-asin-detail-label">購入</span>: 1人 <span class="hatena-asin-detail-label">クリック</span>: 151回</li>
      <li><a href="http://d.hatena.ne.jp/asin/0596805527" target="_blank">この商品を含むブログ (3件) を見る</a></li>
    </ul>
    

言わずと知れたサイ本です. 全てはここに書いてあるといっても過言ではない, 最強の一冊だと思います. 個人的にはどれか一冊だけ選べと言われたら間違いなくこの本を薦めますが, 網羅的で分厚いので, はじめの一冊として適切かはわかりません.

最近出た第 6 版では HTML5 や ES5, jQuery, Functional な書き方など大幅に加筆修正されていてオススメです.

YUI Theater

Yahoo Developer Network

おそらく米 Yahoo! での Tech Talk です. JavaScript や HTML 関連の動画が沢山あります. Y 社の中の人の話や YUI の話だけではなく, Ryan Dahl が Node.js について話している動画などもありました.

DOM scripting

DOM Scripting: The book

Jeremy Keith による書籍. 開発者というよりはデザイナ向けだそうです.

ppk on JavaScript

ppk on JavaScript

Peter-Paul Koch 氏による書籍だそうです.

Koans Projects: JavaScript

GitHub - liammclennan/JavaScript-Koans: javascript koans is an interactive learning environment that uses failing tests to introduce students to aspects of JavaScript in a logical sequence.

qunit のテストケースがたくさんあるんですが, それぞれ expected の値が書かれていません. これらのテストケースを全部通すために書いていくうちに JavaScript が学べるという教材です. コンセプトが面白いです.

JavaScript Garden

JavaScript Garden

JavaScript の tips を集めたようなドキュメントです. 言語の知識を前提にしているので, ひと通り基本を学んだひとが読むと良いかもしれません. サイトのデザインがかっこいいです.

Not Found Page | Web Scratch

日本語の読書メモも.

John Resig の書籍

Secrets of the JavaScript Ninja: John Resig, Bear Bibeault: 8601400825082: Amazon.com: Books

DreamHost

jQuery の作者である John Resig の書籍達です. JavaScript Ninja は半分くらい読みましたが, 楽しんで読めるので良いです.

あとは jQuery のソース読めという意見もちらほらありました.

ECMA-262

ds.laboratory - by Dmitry Soshnikov

ECMA-262 の仕様を深掘りしているブログで面白いです.

Essential JavaScript Design Patterns For Beginners

no title

Addy Osmani 氏によるフリーブック. JavaScript のパターンについて.

まとめと感想

Best resources to learn JavaScript から有益そうなリソースを集めてきました. Crockford 氏の人気がすごかったです.

さてここで唐突に rmurphey さんの記事からの引用ですが, ”The number one thing that will make you better at writing JavaScript is writing JavaScript” という意見に自分は結構同意しています. JavaScript のいいところは人のコードが全部見れるところでもあるので, プログラミングの経験のあるひとならばとにかくコードを読んで作りたいものを作るのが手っ取り早いかもしれませんね.