katonobo’s blog

プログラミング中心の雑記ブログ

プログラミング初心者にパスという概念は難しすぎる

プログラミング初心者にとってかなりハードルが高い概念に「パス」があると常々思っています。

パスとは、日本語では「通路」とか「通り道」みたいに訳しますが、プログラミングの世界では読み込むデータの置き場をプログラムに教えてあげるコードをさします。

 

パスとは - IT用語辞典

 

なんでこれが初学者に難しいだろうなと思っているかと言うと、僕はまさに理解できなかったからです。この概念が当初全く理解できませんでした。

パソコンに詳しくない当時の私は、ファイルに全てパスの指定があるなんてこと知りませんでした。だから私の場合、ファイルが自分のパソコンに入っていればどこからでも使えると考えていました。プログラミングで、ファイルを指定する必要があるなんて夢にも思っていませんでした。

本による独学では、まずは本に書いてあるサンプルをそのまま写す、通称「写経」を行います。一つのファイルだけで済むサンプルはちゃんと動くんですが、別のファイルにコードを書くような段階に入るともう行き詰ってしまいました。

もうね、入門の入門書くらいの本の前半部分でどハマりするわけです。

なぜか?パスなんて知らないし、パスのコードが何をしているかなんて初心者なのでわからないからです。

パスと言う概念は、プログラマーには当たり前すぎて説明がありません。そのため、私はパスが何をしているのかよくわからず本に書いてあるコードをそのまま写してしまっていました。もちろんこのままでは一生表示されることはないのですが、私はこれをタイプミスだと思い込み、どこかタイプミスがないかずっと探していました。

 

そんな当たり前のことわからないのか?と笑いたくなるかもしれませんが、

わかりません。だって初心者ですから。初心者とはこういう存在なのです。

 

時々、エンジニアの人が駆け出しの初心者にガッカリしたというような記事をよく見ますが、初心者とは初めは皆こんな感じなのです。別に初心者が頭が悪いわけではなく、知っているか知らないかだけなのです。

一部はすぐに理解できる天才もいるでしょうが、初めはみんなこんな感じのミスをたくさんして覚えていったと思います。多くの人は自分の初心者時代を忘れているだけです。

さて、いろんな書籍に当たってやっとパスの概念が理解できた後、私はさらに苦しみました。それはそのファイルのパスの表示の仕方がわからなかったのです。今ならターミナル開いてコマンド打てばすぐわかりますけど、当時はそんな方法はわかりませんでした。そして、その方法を調べるためのグーグルの検索方法すら知りませんでした。

そのため、当てずっぽう(!?)てパスを書いていました。もちろんそんな当てずっぽうで当たるわけもないのですが、そんな試行錯誤をしてなんとかパスをクリアしたのです。

 

とまぁ、今回は自分の体験からのお話でしたが、こういった経験から思うのは、業界に長くいてしまうと本当の初心者の気持ちや記憶は忘れてしまうよなぁということです。私は今も自分で初心者を脱したとは、つゆほども思っていませんが、それでも、まるで向かうべき方向すらわからないまま砂漠に落とされたようなあの気持ちはどこかで忘そうになっている気がします。

これからプログラミングを始めようと思っている人がわかりやすいような説明がちゃんとできるよう、当時の気持ちは忘れないようにしなくちゃなと思います。