はじめに
CYBIRD Advent Calendar 2024の9日目担当の@CN_30371500です。
今年2024年の新卒として入社し、現在はイケメンシリーズの主に2つのタイトルの品質管理をしています。
8日目は@kyorokyoroさんのFirebaseイベントの登録からBigQueryでのデータ取得まででした。
私自身が現在エンジニアとして稼働していないのと、初めて書く記事ということもあり、超入門編コンピューターの思考について書いてみました。
コンピューターの思考とは
まず、コンピューターの思考とは何かということについてですが、簡単に言うと人間がどう動くか決めるまでに行われる思考のコンピューター版です。
人間は生きているうちに数々のことを自然に行っていると思うのですが、それには無意識的に行っている思考があります。
人間における具体例(歯磨き)
例えば歯磨きをするために(私の場合)
洗面所のドアを開ける→洗面所の電気をつける→髪をまとめる→歯磨き粉を手に取る→歯磨き粉の蓋を開ける→歯ブラシを手に取る→歯磨き粉を豆ほどの量を歯ブラシのブラシ部分に着ける→歯磨き粉の蓋を閉める→歯磨き粉を元の位置に戻す→歯ブラシですべての歯を磨く→コップに水を汲む→コップの水を口に含んでゆすぐ→水を吐き出す→歯ブラシを洗う→歯ブラシを元の場所に戻す→コップを軽くゆすぐ→コップを元の位置に戻す
という行動をとります。
若干の違いはあれど、人間が歯磨きをすると大体上記の通りの手順で行うことが多いと思います。
ですが、5行にもわたる作業を行っているにもかかわらず、人間同士で話す時は「歯磨きをしてくる」と言えば上記の手順を行っているであろうことが大体想像できます。
ですが、コンピューターは与えられた命令通りにしか動けません。
コンピューターにおける具体例(水を注ぐ)
コンピューターにペットボトルの水とコップを渡して、水を注いでくださいと命令します。
すると、「与えられた情報だけでは水を注ぐことはできません。」という返答が返ってきてしまいます。
なので、コンピューターに水を注いでくださいと命令するためには
渡したペットボトルの蓋を開けて、"ペットボトルの水"を"渡したコップ"に"コップの半分ほどまで"注いでくださいと命令してやっとコンピューターは水を注ぐことができます。
上記ではペットボトルの水とコップを渡していますが、本来はキッチンの冷蔵庫の扉裏にあるペットボトルの水と食器棚に置いてあるコップをとって来てという部分も追加するべきですね。
つまり、人間とコンピューターはとてもローコンテクストな会話をしないといけないのです。
結論
以上でコンピューターはどのような思考をするかについて解説できたのではないかと思います。
プログラミングを学び始めたころ、自分がコードを書く上で一番多かったのはコンピューターの挙動の予測ミスによるエラーでした。コンピューターの挙動を予想するためにはコンピューターの思考を理解することが一番重要だと思います。
なので1人で開発をする時に限らず、複数人で開発をする際も、エラーが出てしまった時は一度どのような命令をコンピューターに出しているかを整理してみるとエラーの原因がわかりやすいのではないかと思います。
おわりに
今回はコンピューターの思考を人間に例えて解説してみました。
次の機会にはもっと技術的なことを記事にできるように日々アンテナを張って過ごしたいと思います。
CYBIRD Advent Calendar 2024 10日目は、@I_am_bakenekoさんの【検証】10日間、生成AIに専属の絵の先生をしてもらったら。」です。
お楽しみに!