プログラミング食堂

プログラミング食堂

プログラミング初心者・中高生向けにプログラミング・IT・IPA国家試験などの情報を発信します!自作フローチャートを無償で公開・配布しています!

MENU

【TBStenの独り言】表現って何だろ~プログラミングは芸術~

【TBStenの独り言】シリーズは完全にTBSten得で、ただ単に話したい事を話すだけのクソつまらないシリーズです。たぶん読むのも途中からめんどくさくなるので適当に読み飛ばしてもらってOK! 第3回は、「表現とは」です。

 

表現とは

 

情報処理を学び始めると、「〇ビットで表現できる色の数は...」とか出てくると思うのですが、表現とはいったいどういう意味なのでしょうか?筆者の見解を話していこうと思います。

 

みなさんは学生の時、英単語をどのように覚えていましたか?私は特に単語を覚えるのが得意だったというわけではないのですが、英語を学ぶ上で気づいたことがあります。例えば、「りんごは英語でapple」といいますが、わたしはこうは覚えるべきではないと思っています。それが何故か知るためには、そもそも言語とは何か、ということを考えていきます。

 

さきほどの例で考えてみましょう。「りんごは英語でapple」と覚えてしまうとします。すると私の脳には「りんご=apple」と記憶してしまいます。

 

f:id:TBSten:20210429010346p:plain

 

私は、上のようにではなく、下の図のようにイメージします。

 

f:id:TBSten:20210429010605p:plain

(読者の方の中には「木構造みたいだな―」と思われる方がいらっしゃるかもしれません笑)


「りんご=apple」ではなく、「りんご=よく食べる赤い果物=apple」と言葉と言葉の間に「そのもののイメージ」や「実際にどのようなものなのか」・「どのような感情・考え方・もの・人なのか」といったものを挟んで想像します。これをこの記事では「イメージ」と呼ぶことにしましょう。

 

言葉を理解する際に、イメージをわざわざ挟むのは、「言葉とはイメージを文字や声で表現するためのツール」だと考えているからです。もともと人以外のすべての動物には言葉というものがありません。ですが、だからといって彼ら動物に感情が無い訳ではありません。お腹はすくし、眠たくもなる。人と動物が違うのはその感情を形のあるものに変えれるかどうかです。感情を形あるものに変えるためのツールが言葉・言語というわけです。

 

感情を伝えるために言語があります。ですが、その言語は1つではありません。日本には日本語、アメリカには英語といったように、人によって使う言語がたくさんあります。ですがどれも元々は感情を表したいがために使っていたもの。ですので言葉は本来感情を表すためだけにあるといっても過言ではないといえます。

 

appleという英単語を覚えるために「apple=りんご」と覚えてしまっては、感情を表すためだけにある言葉を、感情ではなく、違う言葉と結びつけてしまっているのです。これは言葉の本質を見失っており、ナンセンスだと思います。これが私が「りんご=よく食べる赤い果物=apple」と英語を覚えていた理由です。

 

ところで全く同じことがコンピュータにおいても言えます。日本語と英語であれば「赤=りんごや信号で止まれの色=red」と考えるところを日本語と機械語(コンピュータの言葉)であれば「赤=りんごや信号で止まれの色=00110010」と考えるわけです。

f:id:TBSten:20210429012753p:plain

 

上のように言語が違うものの間(日本人とアメリカ人、日本人とコンピュータなど)で「イメージ」・感情・伝えたい何かを伝えるために、「イメージ」→「言葉」と変換をします。これが今回のテーマである表現だと思います。

 

そして、「イメージ」がどの言葉に変換されるかは、言語によって異なるわけです。つまり日本語の赤がパソコンの機械語で「00110010」に変換されることもあれば、スマホ機械語で「01010000」に変換されることもあるわけです。これを表現の仕方が違うと言ったりします。

 

プログラマとはいわば、機械に伝えたい「イメージ」をそれ専用の言語で表現する人と言えそうです。

 

表現は楽しい

 人ははるか昔から自分の感情や「イメージ」を形あるものに変えることが大好きな生き物です。音楽や美術はその最たる例でしょう。自分の中にある感情を形ある言葉・メロディ・絵に載せているわけです。古来よりそれらを受け継ぎ、生活の娯楽として使ってきました。

 

私はそのような音楽や美術の仲間としてプログラミングがあると思っています。(心の中にある)機械にやってほしいことを専用の言語で表現することがプログラミングなので、「イメージ」を形あるものに変えることに当てはまるのではないでしょうか?

 

あなたの中の「こんなことを書いたらどう動くだろう?」「こういう風なゲームを作りたい」というポジティブな感情は、心の中にある「イメージ」を形あるソースコードに変えることを心の底から楽しんでいる証拠です。そんな自分に気づいたら、心の底からほめてあげましょう!

 

こんなどうでもいい話を最後まで読んでくれてありがとうございます! 良かったら☆スター☆を押してね!