感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

CoffeeScriptのインストールから、REPLでHello Worldを出力するまで。

<スポンサーリンク>

JavaScriptの活躍の場はますます広がってきているにも関わらず、文法などが煩雑で使いづらいという人が少なからずいた。
もっと大規模開発に適したJavaScriptにしたい。

そんな想いを抱いたのがJeremy Ashkenas氏。
CoffeeScriptは彼によって作られた。
2009年の12月13日。
「謎の言語を初回コミット(initial commit of the mystery language)」というコメントとともに Git リポジトリにコミットしたのがCoffeeの始まり。

CoffeeScriptコンパイルされてJavaScriptのコードに変換されるため、JavaScriptとそのまま置換して使うことができる。

CoffeeScriptではJavaScriptの3分の1程度に行数が削減できるとも言われている。

CoffeeScriptのインストール

CoffeeScriptはnpmを使ってインストールするため、Nodeのインストールが前提となる。
Nodeのインストールはだいぶ昔の懐かしい記事ですが、以下を参考にしてください。
JavaScript初心者によるNode.js入門

で、Nodeをインストールしたら、コマンドプロンプトを立ち上げて、

npm install -g coffee-script

と入力する。

C:\Windows\System32>npm install -g coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz
C:\Users\MyName\AppData\Roaming\npm\cake -> C:\Users\MyName\AppData\Roaming\npm\node_mod
ules\coffee-script\bin\cake
C:\Users\MyName\AppData\Roaming\npm\coffee -> C:\Users\MyName\AppData\Roaming\npm\node_m
odules\coffee-script\bin\coffee
coffee-script@1.6.3 C:\Users\MyName\AppData\Roaming\npm\node_modules\coffee-script

CoffeeScriptのインストールに失敗した場合は

npm ERR! Additional logging details can be found in
npm ERR!     C:\Windows\System32\npm-debug.log
npm ERR! not ok code 0

みたいに、not okと表示される。

バージョンを確認するときは、

> coffee -v
'coffee' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

とするんだけど、上みたいにコマンドが認識されない場合は、
システムのパスを通す必要がある。

コントロール パネル\システムとセキュリティ\システム→システムの詳細設定→環境変数

C:\Users\myName\AppData\Roaming\npm

をPathに追加したら、

>coffee -v
CoffeeScript version 1.6.3

と出るようになった。

CoffeeScriptでREPL

対話形式でプログラムの評価結果をすぐに確認できる環境をREPLと呼ぶ。
REPLはRead-Eval-Print Loopの略。
プログラムをReadして、Eval(評価)して、Print(評価結果を出力する)ループという意味。

>coffee
★ ここからREPL ★
coffee> console.log "Hello, Coffee!"
Hello, Coffee!
undefined
coffee>

みたいな感じ。

勉強した本

今日本屋でひと通り選別してみたんだけど、日本語書籍ではこの本が一番充実してそうだった。
後ろの方の章の、Nodeを使った実践的な開発手順が書かれている章が気になって、速攻で購入してしまった。
引き続き勉強させていただきます。