プログラミング学習を続けていくと…
近年、プログラミング学習を始める人は多いと思います。
学習を続けていくのは簡単ではなく、
- プログラミング学習を始めてはみたが、思っていたほど面白くない
- プログラミングの勉強は続けていく意味があるのか
と、モチベーションを保つのが難しい人もいます。
今日は、プログラミング学習に取り組んで良かった
と思えるポイントについて、6つ紹介します。
- 何となくプログラミングに興味がある
- どんなことに役立つのか分からない
- 最近人気があるが、必要性はあまり感じていない
という人は、是非読んでみてください。
こんな考え方もあるのか
と、何か有用なポイントがあるかもしれません。
作れるようになる
1つ目は、
何かを作れるようになる
です。
プログラミング学習を始めるきっかけとして、
プログラミングをできるようになって自分で何かを作りたい
という気持ちを持っている人は多いと思います。
プログラミング学習を続けていけば、
- スケジュール帳アプリ
- 家計簿アプリ
- スマートフォンで操作できる簡単なゲームアプリ
など自分の興味があるものを、自分の手で作ることができるようになります。
作れるようになるのは、分かりやすいアプリケーションだけではありません。
日常の自分の作業を効率化する簡単なツールを作る
こともできるようになります。
私は、実際、毎日手作業で行っていたパソコンでの作業を、今ではPythonで自動化しています。
単純作業の繰り返し
を、自動で代わりに行ってくれるツールを作成できたときに、
プログラミングの面白さを感じたのを、覚えています。
DIYという言葉を聞いたことがあるでしょうか。
Do it yourself
の略で、さまざまなパーツを使って、家具や自分に必要なもの / 興味があるものを作る
ことをDIYと言います。
プログラミングを学ぶというのは、まさにデジタル世界のDIY入門のようなものです。ある程度学習を進めると、自分が欲しいものを、自分で作れるようになります。
- こんなWebサービスがあったら、いいな
- このアプリは、この機能がないから少し使いにくい
という人は、自分でそれらの簡易版を作れるようになるかもしれないのです。
論理的思考が身につく
2つ目は、
論理的思考が身につく
です。
ロジカルシンキングと呼ばれることがありますが、プログラミングの勉強をしていくと必然的に、
自分で論理的に考える
ということが訓練されます。
今、私が書いているこの文章は日本語で書かれています。
日本語のような自然言語は、プログラミング言語とは異なる特徴を持っています。
自然言語は、表現の自由度が高く、柔軟に文章を書ける
とされています。これは、読み手に解釈の自由がある、とも言えます。
つまり、今私が書いている文章を、誰かが読んだ時に、
- Aさんは、こう読み取った
- Bさんは、文章を読んでAさんとは違う解釈をした
ということが頻繁に起きるわけです。
一方で、プログラミング言語では、読み手の解釈の自由度は低いです。言い換えると、プログラミング言語は、読み手=コンピュータに対してはっきり、誤解されないように、書いていくことが基本となります。
この前提があるため、プログラミング言語を書く時には、日本語を書く時に比べて圧倒的に、その
論理性
に注意を払って記述することになります。
何となく書けば、コンピュータに何となく伝わる、ということはありません。
プログラミング言語では、読み手であるコンピュータに誤解を与えないように、自分で考えつつ論理的な記述をしていく必要があるということです。
この点から、プログラミング学習を通して、論理的な思考が訓練されます。
この思考法は、プログラミング以外の様々な分野で応用できます。
プログラミング学習を通して、論理的な思考を身につけ、色々な場面で活用してみてください。
調べる力がつく
3つ目は、
自分で調べる力がつく
です。
プログラミングの勉強では、
- わからないことを調べる
- エラーを解消するために、調べる
- 自分が考え付いた方法よりも、簡単な方法がないか調べる
など、調べる機会が多くあります。
特に最初のうちはとにかく、いつも何か調べることになります。
自分で、プログラミングの作業をしながら、
調べつつ、問題を解消して先に進んでいく。
ということを繰り返していくうちに、
調べる力
が自然とついてきます。
- Webで調べるときのキーワードの選び方
- Webで調べる方がいいのか、本を読んだ方がいいのか
- 情報の正誤を判断
- 情報の鮮度を判断
など、調べる時の要点が少しずつ分かってきます。
これは、プログラミング学習の時だけではなく、他の勉強や、日常生活でとても役立つスキルです。
言うならば
検索リテラシー
が身につく、というイメージです。
プログラミング学習で検索力を高めると、いろいろな場面で、その恩恵にあずかれます。
情報リテラシーが身につく
4つ目は、
情報リテラシーが身につく
です。
プログラミング学習では、プログラミングのコードをずっと書いて終わり、
ということにはなりません。
簡単なWebアプリケーションやスマートフォンアプリを作ってみよう、と思った時に学べることがたくさんあります。
- インターネットの基本的な仕組み
- インターネットのセキュリティについて
- データベースとは
など、多くの情報分野のことを知ることになります。
最初に、こうやって見ると、
学ぶのが大変そう
と思うかもしれません。
ただ、出発点が
自分が作りたいものを作る
であり、
その上で必要な知識を吸収していく
という流れになるので、積極的に学びやすくなります。
結果として、パソコンなどのコンピュータの仕組みやインターネットに関して詳しくなり、情報リテラシーが身に付きます。
- スマートフォン、タブレット、パソコンなどの端末
- TwitterやInstagramなどのSNS
- NetflixやHuluなどの動画配信サービス
など日常のありとあらゆる場面で、情報リテラシーが必要とされています。
プログラミング学習を通して、獲得した情報リテラシーは、日常生活でも役に立ちます。
世界が広がる
5つ目は、
世界が広がる
です。
プログラミングは何かを達成するための
手段
であると考えることができます。
一種のツールとして捉えることができます。
- 自分の作りたいサービスを作る
- スマートフォンアプリを作る
- ロボットを制御する
- データを分析する
などのための手段です。
そして、このプログラミングという手段には、とても面白い特徴があります。
それは、
広く普及している
ということです。
どういうことかというと、
プログラミング言語は、
広く世界の人に知られている
ということです。
エジプトの街中で日本語で通行人に話しかけても、まず意思疎通はできないでしょう。
一方で、プログラミング言語の場合は、エジプトの一定数の人は学んでいます。
このことから分かるように、
プログラミングを学ぶと、自分の見ている世界が広がります。
インターネットを通して様々な情報にアクセスでき、コミュニケーションできるようになっている今、
自分の世界が広がる
この利点はものすごく大きいです。
- 世界中のプログラミングのリソースにアクセスする
- プログラミングに興味がある世界中の人とコミュニケーションを取る
ということができるのも、
どこでも、誰でもプログラミング学習できる=プログラミングは広く世界の人に知られている
という背景があるからです。
学習を続けていくと、この広大な世界に足を踏み入れることができます。
私は、
- 国籍
- 年齢
- 性別
- 文化
- 社会的地位
などに関係なく参加できるプログラミングのコミュニティは、非常に強力だと思っています。ありとあらゆる人を広く受け入れているのがプログラミングです。
- どこでもできます
- いつでもできます
- いつからでもできます
プログラミングするのに社会的地位は必要ありません。性別も国籍も関係ないです。
これらの特徴があるゆえに、色々な人から学び、多くを知ることができるのもまた、プログラミング学習を続けていく醍醐味だと思っています。
英語を勉強しようと思う
6つ目は、
英語学習のモチベーションが上がる
です。
5つ目とも関係するのですが、
プログラミングは地球上のあらゆる場所で学習されています。
そのため、プログラミングに関する多くのリソースが英語です。
- 英語の文章
- 英語で作られた、学習用の動画コンテンツ
- 英語のコミュニティ
など、プログラミング学習に関する多くに英語でアクセスできます。
プログラミングは日進月歩の領域のため、英語情報と日本語情報に差がある
という場合もあります。
最新トレンドや、ソフトウェアのアップデート情報などに英語で接する機会が多く、
その分英語を使えるようになろう、というモチベーションが高くなります。
英語とプログラミング学習は、相性が良いと思います。
プログラミング言語自体、英文の構造と似ている部分があります。
また、英単語の意味が分かるとプログラミング学習で学ぶ様々な概念の理解もスムーズになります。
プログラミング学習を続けていく中で、英語も勉強しようと思った、という副次的な効果が得られるかもしれません。
プログラミングは面白い
プログラミング学習では、難しいところもあるのですが、
続けていけば、
プログラミングは面白い
と思う瞬間がやってきます。
ここまでご紹介したように、
プログラミング学習を続けると、意外と色々なものが見えてきます。
プログラミングの勉強を始めてはみたものの、
- 勉強するのが少し退屈になってきた
- プログラミング学習を止めようかと思っている
- いまいち利点が分からない
という人が、少しでもモチベーションを上げ、
プログラミングの面白さに気づくまで学習を続けられることを願っています。
コメント