旅行が好きな人はプログラミング上手!?




beachこんにちは。プロクラスの吉田です。

ヨシダミツヒロ(@milan40920)

ゴールデンウィークもあと少しで終わりですが、まとまったお休みを取って、どこか旅行へ行かれてる方も多いのではないでしょうか。

今回はそんな旅行とプログラミングの関係についてを題材に書きたいと思います。

「旅行とプログラミングの関係性がどこにあるの?」と思った方!
実はとてもコアな部分に共通性があるんです。

しかも、実はあなたもプログラミングを組んでいた!?

■旅行とプログラミング?

人は「何かをする(Do it)」場合、必ず「目的:何をするか」を決めてから行動を起こしています。

「目的:何をするか」を決めた後行動を起こすと書きましたが、「目的」「行動」の間には、【計画】を考えなくては行動できません。

こういう書き方だと、ちょっと分かりづらいので、旅行に例えてみます。

☆旅行の場合

1)目的(目的地とアクテビティ): 海に泳ぎに行く!

2)計画(時間とスケジュール): 6:00 起床!6:10 朝食を取る6:30 出かける準備7:00 車に乗る7:30 □□高速道路に乗る9:30 ○○サービスエリアで休憩する10:00 △△高速道路に乗り換える11:30 お昼ご飯を食べる店に入る12:30 店を出る12:10 ガソリンスタンドに入ってガソリンを入れる12:30 海岸線の道路を走る13:30 駐車場に車を停める13:40 いざビーチへ!

3)行動(実行!): スケジュールと時間を見ながら計画をこなす。
予定が少し変わることがあっても、計画を調整しながら進める!

という感じになるのではないでしょうか。

これはプログラミングにも同じ事が当てはまります。
※)ここでは実際のプログラミングのアルゴリズムやコーティングの記述ではなく、一般の方々が理解しやすさの優先上、プログラミングを粗くした実行手順をプログラミングの表現として書かせていただきます。

では、早速見てみましょう。

☆プログラミングの場合

1)目的(コンピュータで達成したいこと): 友人にメールを送る

2)計画(プログラミング手順): メーラーを起動宛先に送り先のメールアドレスをキーボードで入力件名にメール内容の見出しをキーボードで入力本文にテキストをキーボードで入力送信ボタンを押下送信用のサーバーに本人かどうかの認証チェック宛先のメールアドレスが存在しているかをサーバーでチェックメール送信!送信済みボックスにメールを入れる全て完了!

3)実施(実行!): 計画通りの順番に実施して行くことにより、目的を達成させる事が出来る!
途中エラーが発生して中断したら、原因を解決してから再実施。

「旅行の場合」と「プログラミングの場合」を比較してみると、どちらも
1)目的、2)計画、3)実施
の工程があるのがわかりますね。

更に「2)計画」を比較して見てみると、
旅行の計画も、プログラミングの手順も一つ一つ目的に向かうために、考えてまとめて行く必要があるのがわかりますね。

「3)実施」は計画に基づいて人が実際に実行するのか、コンピュータで実行するのかの違いで、本質的に計画を実行することには違いがありませんよね。

そんな風にとらえると、あなた自身が計画した友達との旅行や、お父さんやお母さんが、あなたと田舎のおじいちゃんやおばあちゃんに会いに行くために計画してくれていた旅行も、しっかりロジカルな考え方でプログラミングされている事が分かるのではないでしょうか。

ryokou

目的を実現するために「段取りを組んでいるということ」=「ロジカルシンキング」であり、すなわち「プログラミング」と言えるワケです。

残りの休み、あなたはどんなところに行き、何を楽しむプログラムを組みますか?

ヨシダミツヒロ(@milan40920)