どんなプログラムも中身はテキストファイルであること、そしてそれが働き方をどう変えるかを知りましょう。
このレッスンを Kodokon で開くほとんどの人が驚く事実からお話しします。コードはただのテキストです。秘密の形式でもなければ、謎めいたバイナリファイルでもありません。Webサイトも、スマートフォンのアプリも、ビデオゲームも、すべてはメモ帳で開いて一文字ずつ読めるファイルから始まります。中に隠されているものは何もなく、まさにそれこそが、プログラミングを学べるものにしているのです。
ただし一つ注意があります。ここで言っているのはプレーンテキストであって、リッチテキストではありません。WordやLibreOffice、Googleドキュメントで文章を書くと、ファイルにはあなたの打った文字よりずっと多くのものが入ります。フォント、文字の大きさ、色、余白。すべてが目に見えない書式として保存されているのです。コードのファイルには、文字だけが順番に並んでいて、飾りは一切ありません。あとでエディタの中で目にする色も、ファイルの中には入っていません。あなたを助けるために、エディタが画面上で付け加えているのです。
index.htmlというファイルの本当の中身、一文字ずつ:
<h1>Hello</h1>
<p>My first page.</p>
それだけです。フォントも、色も、余白もありません。では拡張子、つまり点のあとに付く短い接尾辞、.txt、.html、.py、.js はどうでしょう。あれは箱に貼られたラベルにすぎません。中身は何一つ変えません。そのファイルに何が入っているはずなのかを、プログラムに、そしてあなた自身に伝えるためにあります。photo.jpg を photo.txt に名前を変えても、画像がテキストになるわけではありません。中身はそのままで、ラベルが嘘をついているだけです。逆に、同じテキストを page.txt として保存しても page.html として保存しても、ファイルとしてはまったく同じものです。ただしブラウザがWebページとして表示してくれるのは後者だけです。
ここからもう一つの結論が出てきます。ワープロソフトでコードを書いてはいけません。WordやGoogleドキュメントは打った内容を自動で修正します。とくに、まっすぐな引用符を、見栄えのする丸まった約物に置き換えてしまいます。あなたの目には違いが見えません。しかし機械にとっては、これはまったく別の文字であり、あなたのプログラムはきっぱり動くのを拒みます。
機械が期待するもの "hello" まっすぐな引用符
Wordが書いてしまうもの “hello” 丸まった約物の引用符
もう一つのよくある罠 'hello' -> ' が丸まったアポストロフィになる.html のようなファイルの拡張子は何のためにありますか?