Kodokon kodokon.com

コードがただのテキストである理由

どんなプログラムも中身はテキストファイルであること、そしてそれが働き方をどう変えるかを知りましょう。

6 分 · 3 問

このレッスンを Kodokon で開く

ほとんどの人が驚く事実からお話しします。コードはただのテキストです。秘密の形式でもなければ、謎めいたバイナリファイルでもありません。Webサイトも、スマートフォンのアプリも、ビデオゲームも、すべてはメモ帳で開いて一文字ずつ読めるファイルから始まります。中に隠されているものは何もなく、まさにそれこそが、プログラミングを学べるものにしているのです。

ただし一つ注意があります。ここで言っているのはプレーンテキストであって、リッチテキストではありません。WordやLibreOffice、Googleドキュメントで文章を書くと、ファイルにはあなたの打った文字よりずっと多くのものが入ります。フォント、文字の大きさ、色、余白。すべてが目に見えない書式として保存されているのです。コードのファイルには、文字だけが順番に並んでいて、飾りは一切ありません。あとでエディタの中で目にする色も、ファイルの中には入っていません。あなたを助けるために、エディタが画面上で付け加えているのです。

TEXT
index.htmlというファイルの本当の中身、一文字ずつ:

<h1>Hello</h1>
<p>My first page.</p>

それだけです。フォントも、色も、余白もありません。
コードのファイルには、あなたが打った文字しか入っていません。

では拡張子、つまり点のあとに付く短い接尾辞、.txt.html.py.js はどうでしょう。あれは箱に貼られたラベルにすぎません。中身は何一つ変えません。そのファイルに何が入っているはずなのかを、プログラムに、そしてあなた自身に伝えるためにあります。photo.jpgphoto.txt に名前を変えても、画像がテキストになるわけではありません。中身はそのままで、ラベルが嘘をついているだけです。逆に、同じテキストを page.txt として保存しても page.html として保存しても、ファイルとしてはまったく同じものです。ただしブラウザがWebページとして表示してくれるのは後者だけです。

ここからもう一つの結論が出てきます。ワープロソフトでコードを書いてはいけません。WordやGoogleドキュメントは打った内容を自動で修正します。とくに、まっすぐな引用符を、見栄えのする丸まった約物に置き換えてしまいます。あなたの目には違いが見えません。しかし機械にとっては、これはまったく別の文字であり、あなたのプログラムはきっぱり動くのを拒みます。

TEXT
機械が期待するもの        "hello"     まっすぐな引用符
Wordが書いてしまうもの    “hello”     丸まった約物の引用符
もう一つのよくある罠      'hello'  ->  ' が丸まったアポストロフィになる
見た目が似ている二つの文字は、同じ文字ではありません。

理解度チェック

このレッスンの要点をしっかり覚えているか確認しましょう。

  1. コードのファイルには、実際には何が入っていますか?
    • 打ち込んだ文字だけで、書式は入っていない
    • 文字と、表示されるときの色
    • 専用ソフトがないと読めない圧縮形式
  2. .html のようなファイルの拡張子は何のためにありますか?
    • そのファイルに何が入っているはずかを伝えるため
    • ファイルの中身を圧縮するため
    • ファイルを変更から守るため
    • ファイルの中身を書き換えるため
  3. Wordでコードを書いてはいけないのはなぜですか?
    • 引用符など、一部の文字を自動的に置き換えてしまうから
    • ファイルを保存できないから
    • 書ける行数に上限があるから