プログラミングとは?学ぶメリットはあるのか
こんにちは。企業でエンジニアをしているサーモンです。
現代では生活の至るところにIT技術が使われています。あえて例を挙げる必要もないと思います。
そして、そのIT技術の基礎となるスキルにプログラミングがあります。
昔は、電子基盤を触るようなハードウェアの技術が基礎だったのですが、今はソフトウェアを開発するプログラミングスキルも隣に並ぶようになりました。
小学校でもプログラミング教育が必修化され、英数国と並んで国民の全員が学ぶ必要が出てきました。
書店のIT系の棚を覗くと、プログラミングは教養化されてきているのだなと感じます。(また別記事で詳しく書こうと思います。)
さて、ではその「プログラミングとはなんですか?」と聞かれると、簡潔に答えるのは意外と難しいです。
まして、「勉強するメリットはあるんですか?」と聞かれると、これもまた一言では答えづらいのではないかと思います。
今後は学生や学び直しの社会人からこういう質問をされる機会が増えるような気がしています。
そこで、僕が上記二つの質問をされたらこう答えるよという回答を述べたいと思います。
プログラミングとは?
まずは一つめの「プログラミングとはなんですか?」という質問。
プログラミングとは、プログラムを作ることです。
プログラムとはコンピュータに対する命令や実行順序を記述したもので、身の回りにコンピュータがあふれている現代では必須なスキルと言えます。
英語圏の人とコミュニケーションを取るには、英語を話す必要がありますよね。
それと同じで、機械とコミュニケーションを取るには、プログラミングをする必要があるというわけです。
従って、プログラミングは人間とコンピュータがコミュニケーションを取る手段とまとめることができるでしょう。
プログラミングを学ぶメリット
二つ目の「プログラミングを勉強するメリットはあるんですか?」という質問ですが、僕はもちろんあると思っています。
プログラミングを勉強するメリットは、大きく以下の2つです。
- 仕事で使えるスキルが身につく
- 考える力が身につく
それぞれ解説します。
仕事(副業にも)で使えるスキルが身につく
プログラミングは、アプリケーションやソフトウェアの開発に必須のスキルです。
これらは、プログラムが集まってできたものだからです。
現在はソフトウェア開発人材が不足しているので、プログラミングスキルはビジネスにおいて価値があると言えます。
プログラミングを学ぶことで、エンジニアとしてアルバイトや正社員に就職することも可能です。
また、最近増えてきた「副業」の一つにするのもアリだと思います。
ソフトウェア開発は多くの場合PC一台で可能で、場所も選ばないため、副業との相性が良いと思います。
実際、僕もWeb制作というジャンルのソフトウェア開発を副業にしています。
考える力が身につく
前述のようにエンジニアを目指す人には明確なメリットがありますが、そうじゃない人にも大きなメリットがあります。
それは、プログラミングによる考え方のアプローチを学ぶことができるというメリットです。
具体的には、以下の3つの力が身につきます。
- 大きな課題を小さなステップに分解する力
- 手順を簡潔にまとめ、他者(コンピュータ)に説明する力
- 抽象的な概念を扱う力
コンピュータは、あなたの命令を忠実に実行する部下のようなものです。
頼もしいですが、コミュニケーションを取る上では基本的に受け身なのが難点です。
しかも、曖昧な指示は受け付けてもらえず、コンピュータの理解できるレベルで具体的な指示をしなければなりません。
そのため、大きな課題を実行可能なタスクに分解するのは常にあなたの作業です。
また、抽象的な語彙を増やすことは可能ですが、その定義を伝える必要があります。
そのため、一つ一つの概念について隅々まで理解することが求められるのです。
というわけで、プログラミングを学ぶと様々な取り組みに応用可能な能力が身につくと言えます。
プログラミングの学習コストは?
プログラミングを勉強するメリットがあったとしても、実際に学ぶ気になるかは学習コストとの兼ね合いですよね。
金銭的なコスト
まず、金銭的なコストですが、これはPC一台分(10万円くらい)です。
今この記事をPCで読んでいる方はおめでとうございます!この環境でプログラミングを始めることができます。
他には、まとまった情報が欲しい場合は書籍を購入します。
ただ、このブログでも基本から解説していく予定(もちろん無料)ですので、まずはそちらを読んで頂くのが良いと思います。
追加で参考書を買うとしても、高く見積もっても1万円以内に収まります。
スケジュールを固定したり手厚いサポートを受けたい場合はプログラミングスクールに通うという手もあります。
その場合は、入学費用が追加でかかります。個人的にはプログラミングスクールは高い(数十万円オーダー)のであまりおすすめしません。
トータルに見積もると1万円(PCを持っている場合)〜11万円くらいですね。
時間的なコスト
続いて時間的なコストです。
勉強にかかる労力や時間は青天井ですので、どこまでやればいいのかという指標が必要だと思います。
そこで、プログラミングの全体像からイメージを提示してみます。
まず、プログラミングに必要な知識は以下の通りです。
- プログラムとは?
- コーディングから実行までの手順
- プログラミング言語
- 語彙(変数、関数…)
- 制御構文(条件、繰り返し…)
「プログラムとは?」はとりあえずこの記事に書いてある知識で十分かと思います。
「コーディングから実行までの手順」は、理屈を勉強するのは1時間程度で済みますが、実際に試そうとすると環境の準備などに手間をとられるため、1週間ほどかかるかもしれません。
環境ができていれば、プログラミング言語の勉強は3ヶ月くらいでできるようになると思います。
社会人で週一勉強するとしたら半年くらいでしょうか。
トータルに見積もると3ヶ月〜半年ですね。
まとめ
プログラミングは人間とコンピュータがコミュニケーションを取る手段であること、プログラミングを学ぶ2つのメリットについて解説しました。
また、プログラミングを学ぶには以下のコストがかかることを述べました。
- お金:10万円(PCを持っていない場合) + 1万円(書籍を買う場合) + α(スクールに通う場合)
- 時間:3ヶ月~半年