Photo by S.C. Air National Guard
ここ数年「プログラミング」への注目が非常に高まっています。
2020年には義務教育で必修化されることが決まっており、大人だけでなく子ども向けのコンテンツも急増。老若男女問わず、この言葉を聞く機会が飛躍的に増えているかと思います。
しかし、多くの人にとってプログラミングとは「なんとなく分かるけど、詳しくは知らない」ものだと思います。「コンピュータを使って何かする」程度の認識の方も多いのではないでしょうか。
そこでこの記事では、プログラミングとは何かを基本から知りたい方のために、概要やできること、さらに学習法などについてご紹介します。
■ 「プログラミング」とは何か
Photo by Elliott Cable
・そもそもプログラミングとは何をすること?
プログラミングとは一言で言うと「プログラムを作ること」です。
といっても、それだけではピンときませんよね。
ここで言う「プログラム」とは、行事の予定表という意味ではなく、「コンピュータにさせる指示」のこと。プログラミングとはその指示を作る行為を表しています。なお、コンピュータは人間の言葉を理解できませんので、コンピュータ用の言葉で指示を与えます。
コンピュータは指示されたとおりのことしか実行できません。そのため、適切に動作をさせるためには、プログラミングで「最初にこの処理をして、次にこれ、さらに次はこれ…」というようにすべての動きを決めてあげる必要があります。
こう書くと、プログラミングがとても面倒な作業に感じるかもしれませんが、一度プログラムを作ってしまえば、あとはコンピュータに任せておくだけで同じ動作をしてくれるようになります。毎日人の手でやっていた単純作業を自動化する、なんてことができるわけです。
プログラミングを身につけることで、自分ひとりではさばききれなかった仕事をこなすことができるようになるでしょう。
・世の中にはプログラムがあふれている
今やプログラミングによって作られたプログラムは生活のいたるところにあふれています。
PCやスマートフォン、Webサービスなどはもちろん、外を歩いていても、ATMやエレベーター、自動ドアなど、さまざまなものがプログラムによって動いています。家の中でもテレビや掃除機、洗濯機など、ほぼすべての家電がプログラムなしには動きません。
これらもすべて、コンピュータに与えた指示のおかげで動いているのです。
今後プログラムがない世界で生きていくことは現実的に不可能といえるでしょう。
・プログラミング言語について
コンピュータに指示を与えるための言葉を「プログラミング言語」といいます。人間の言語と同じようにプログラミング言語にもいくつか種類があり、代表的なものをいくつかあげると
- C言語
- Java
- JavaScript
- PHP
- Ruby
- Python
…などなど。他にも数多くの言語があります。
いっぱいあるからといってすべての言語を学ぶ必要はありません。また、それぞれの言語には共通点も多いので、1つをしっかり覚えていれば他の言語もある程度理解できるようになるでしょう。このあたりは人間用の言語とよく似ていますね。
各言語には、それぞれ特徴があり「プログラムを書きやすい/書きにくい」であったり、「この作業をさせるのに向いている/向いていない」だったりもあるので、学習したい方は自分の目的に合ったものを選ぶといいでしょう。
ちなみに、paizaのユーザーに「好きなプログラミング言語」のアンケートを実施したことがあります。何から勉強すればいいか迷っている方はこちらも参考にどうぞ。
paiza.hatenablog.com
■ これからプログラミングを学ぶべきか
Photo by JD Lasica
義務教育で必修化となるなど、身近になりつつあるプログラミング。子どもの習いごととしての人気も上がってきたほか、大人でも、若者からお子さんがいる世代までを中心として、これから始めたいという人が増えています。
はたして、プログラミングは本当に勉強すべきなのでしょうか?
結論を言うと、興味があるのであれば学んでおいて損はないでしょう。
・プログラミングを学ぶメリット
特に若い人は、今後仕事でITが絡まない分野は非常に少なくなっていきます。そのため、たとえエンジニアやプログラマといった仕事につかないとしても「プログラムがなぜ動くのか」「どういう仕組みで動くのか」という考え方そのものを知っておくほうが有利に働く場面が増えそうです。
また、今や高校生の「将来なりたい職業」でもあげられる(※)ほどに「エンジニア」は人気の仕事になりました。エンジニアをもし目指しているのであれば、プログラミングの勉強は必須です。
エンジニアは日本だけでなく世界中で需要がある仕事であり、技術力を高めれば、世界で活躍する人材を目指すこともできます。
さらに、スポーツや芸能などの分野と比べて、エンジニアは遅い時期から勉強を始めて成功した例も多く、努力次第で挽回できる職業でもありますので、もしエンジニアを目指す気があるのなら、ぜひプログラミングをやってみることをおすすめします。
(※:https://www.sonylife.co.jp/company/news/29/nr_170425.html#sec6 より)
■ プログラミングを学びたい人はどうしたらいい?
Photo by Mads Bødker
では、プログラミングを勉強するためには何を用意すればいいのでしょうか?
・勉強するために用意するもの
まずはPCを用意しましょう。少しずつスマートフォンやタブレットを使ってプログラミングやその勉強ができるようになってきてはいるものの、まだまだプログラミングはPCでおこなうのが主流です。OSはWindowsでもMacでも構いません。自分の好きなものを使えばいいでしょう。すでにPCを持っているのであればそれをそのまま使えばOKです。
あとはそのPCがインターネットにつながっていれば、勉強はすぐに始められます。従来、プログラミングをするためにはPC内に専用の環境を作る必要がありましたが、最近はネット環境だけでプログラミングができるサービスが増えています。格段に手軽にプログラミングが始められるので、そちらを使うといいでしょう。もちろん、最初から作りたいものが決まっているのであれば、それに合った環境をしっかり作ってから勉強しても構いません。
オンラインの実行環境について詳しく知りたい人は、こちらの記事をどうぞ。
paiza.hatenablog.com
・どの学習法を使うべきか
プログラミングを学ぶ代表的な方法は4つあります。自分のプログラミングをする目的などによって好きなものを選ぶといいでしょう。
1つは本を使う方法です。昔からある方法ですが、だからこそ教材となる本の数がとても多く「これを知りたい」というニーズに幅広く対応できるのが強みです。コストも(技術書は比較的金額が高いものが多いとはいえ)トータルで考えると安価といえます。以前は何冊も買うとかさばって大変でしたが、電子書籍の出現によりそれも解消。ただ、独学なのでモチベーションの維持が難しい部分はあります。
2つめはスクールへ行く方法です。最近はプログラミング教室の数も非常に増えました。一斉授業のもの、マンツーマン形式のものなどさまざまありますが、なんといっても先生に直接質問して疑問を解決できるのがスクールの最大の強みです。とにかく短期間で実力を伸ばしたい人には適しています。一方、ネックはコストの高さ。手厚いフォローをしてくれる分、どうしても相応のコストはかかってしまいます。
3つめは勉強会に参加する方法です。初心者向けの勉強会も増えているので、それを探して参加するのもいいでしょう。スクールより参加のコストがかからず、かつ参加者に質問できるメリットも享受できますが、常に自分の受けたい勉強会があるかは運に左右されます。
4つめは最近広まりつつあるオンライン学習サービスを使う方法です。動画やスライドを使って勉強します。何よりプログラミングを始めるまでのハードルが低いのが特徴です。多くの場合はそのサイト内でプログラミングを実行できるようになっているので、Webブラウザでサイトを訪れるだけで勉強が始められます。自習スタイルなのでモチベーションの維持が必要ですが、本と比べるとゲーム要素や続けるためのギミックが多いため、続けるのは比較的楽でしょう。paizaでも初心者が楽しんで学べるプログラミング学習サービス「paizaラーニング」を提供しておりますのでぜひ一度のぞいてみてください。
勉強法については、以下の記事でも詳しく解説しています。
paiza.hatenablog.com
・プログラミングの勉強は難しいと感じた人へ
「プログラミングの勉強を過去にしてみたけれど、難しくて挫折してしまった」という人はいませんか?
実はほとんどの場合、挫折したパターンは決まっていて、しかも今はその問題を解決できる方法が数多くあります。以下の記事に、スムーズに学習を進めるヒントを掲載しているので、ぜひ読んでみてください。
paiza.hatenablog.com
■ まとめ
ここまで、プログラミングの概要やできること、さらに初心者向けの学習アドバイスなどを中心にお伝えしてきました。
文中でも述べましたが、今後プログラミングの需要は高まるのが確実であり、学習しておくに越したことはありません。また、将来エンジニアを目指す人にとっては、プログラミングは必須です。
便利な学習手段が生まれているなど、学ぶ環境も昔と比べてはるかに整備されてきたので、ぜひ興味がある人はプログラミングの第一歩を踏み出してみてはどうでしょうか。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら