このブログは「プログラミング初心者」のために、プログラミングをやさしくわかりやすく解説していきます。
みなさんはプログラミングと聞いて、どういったものをイメージするでしょうか。
- 難しそう
- パソコンに張り付いていないといけない
- ザ・デスクワーク
- 覚えることが多そう
あげたらキリがないほど、イメージできることがあると思います。
ライターも最初はそうでした。
正直、あまりいい仕事には思えませんでした。
しかし、物事やってみると意外と違うものです。
あの時の気持ちにかえりながら、プログラミングの素晴らしさや基本的なことを紹介していきます。
この記事の目次
「プログラミング」=コンピュータに命令すること!
「プログラミング」とは「プログラム」を作る作業のことを指します。
といっても、「プログラムとは?」と疑問に思ってしましますよね。
プログラムとは、すごく簡単にいうと「コンピュータにさせる処理を、順番に書き出したもの」です。
コンピュータは自分で考えることができません。例えば、一度も泳いだことのない人に「泳いで!」と言うだけでは泳げませんよね。「まずは右手を前に、後ろに向かって水を掻いたら、次は左手を…」と細かいところまで教えてあげなければいけません。
「泳ぐ」という目的を達成するために、一つ一つの動きを明確に順番に説明しなければいけません。これをコンピュータ相手に行うのが「プログラム」です。
コンピュータは人間とは違って、なんとなく予想して「次はこうすればいいのかな」と動くことができますが、コンピュータには想像する力が一切ありません。なので一連の動きを一つ一つ厳密に、コンピュータに読み取れる形で命令する(=プログラムする)必要があるのです。
あなたの身の回りにも「プログラミング」
21世紀の今、私たちの身の回りにある機械はプログラムで動いています。
例えば、人が通ると点滅するライトは、ごくごく単純にしくみを説明すると「センサーが反応したら、ライトをつける」これもプログラムで動いています。炊飯器や電子レンジ、スマートフォンやゲーム機なども全てプログラミングされた「プログラム」で動いています。
それだけ多くの機器が機械化・自動化されている時代ですから、現代の仕事のあり方も大きく変化してきました。多くの業界でも単純作業はコンピュータに任せています。
しかし、近年ではAIが発展してきて人が時間や能力を使わなくてもコンピュータが分析してくれて、最適な結果を出してくれて自動的に実行してくれたりするという、人間が単純なコンピュータに負ける時代がきてしまっているというわけです。
プログラミングができると、良いことがある?
プログラミングができることで得られるメリットは多く存在します。
メリット① 仕事がなくならない
プログラミングができることで、1番のメリットはやはり「求人」です。
日本ではエンジニアが多く不足いています。
現在の日本のエンジニア人口は「150万人」と言われています。
多いように見えるかもしれませんが、2030年には「79万人」不足すると言われています。
現に日本ではエンジニア案件で「月収100万」を超えるものまであります。
高収入を目指したいのであれば、一つの選択肢としては良いですね。
メリット② 論理的思考が身に付く
文部科学省が小学校にプログラミング教育を必修科目として決めたぐらい、プログラミングは論理的思考が身に付くわけです。
プログラミングといえば、なんだかんだ難しい画面に英語や数字がいっぱいあって、嫌になる。といったイメージを持っている方もいると思います。正直、わかります。
しかし、プログラミング教育必修化の狙いは、パソコンに慣れさせて将来的に社会の役にたってもらうためではないと思います。
プログラミングをする際に欠かせないものは、物事のしくみを理解し、ゴールからの逆算ができ、順序立てて考えていく姿勢。これを「プログラミング的思考能力」と呼びます。この思考法を身につけさせるために必修化が行われるのです。
じゃあ、小学生もパソコンに向かって難しい画面に英語や数字がいっぱいあるものをやるのかというと、そうではありません。「プログラミング的思考」を身につけることが狙いなので、極端な話、プログラミング言語をガリガリする必要はありません。近年ではパソコンやタブレット端末を使わない「アンプラグドプログラミング」と呼ばれる手法を使うことができます。
プログラミングの「考え方」の学習により論理的にものをとらえる力を養う。それがプログラミング教育必修化の最大の目的なのです。
プログラミング言語の種類
プログラミング言語は1830年頃に開発されたと言われています。
起源はイギリスの数学者「チャールズ・バベッジ」という人が設計し、「解析機関」と呼ばれる機械式汎用コンピュータでした。
これは完成に至らなかったものの、ベルヌーイ数を計算するプログラムが示された、広義の意味で世界初のコンピュータプログラムと言われています。
それから、200年近く経った2022年。
現在では、少なくとも100を超えるプログラミング言語が生まれました。
その中でも、これからプログラミングを学ぶ人やスキルアップをしたい人が学ぶべきプログラミング言語を紹介します。
No.3 C#
C#はゲームなどによく使われるマイクロソフト社が開発したオブジェクト指向のコンパイラ言語で、C言語がベースになっています。
マイクロソフト社が開発したOSのWindows向けアプリケーションだけでなく、現代のゲーム全般やVRの開発に使われていることが多く、求人数は年々増加しています。
高いシェアを誇るゲーム統合開発環境の「Unity」でもC#が採用されています。
ゲーム業界は2018年頃から爆発的な成長を始め、Googleの「Stadia」やAppleの「Apple Arcade」など、定額制ゲームサービスも始まり、ゲーム業界はますます盛り上がると思われます。
さらに、メタバース(仮想現実)が注目を集めている2022年、求人数は3倍となる予想です。
C#は、ゲーム好きな方で自身でもゲームを開発したいと思える方におすすめです。
好きなものを作れて高収入なのは最高の環境ですよね。
No2. JavaScript
JavaScriptは古い言語ではありますが、WebサイトやWebアプリケーション開発によく使われているスクリプト言語です。
HTML/CSSと一緒にWebページ制作には欠かせない言語です。最近ではRubyも多く使われるようになりましたが、用途が違うため両方使えると質の良いエンジニアになれるでしょう。
また、特筆すべきはJavaScript実行環境の「Node.js」で、通常ブラウザ上でしか動作しないのがJavaScriptですが、OSにアクセスできるようになる。ツールです。
のこNode.jsにより、JavaScriptでサーバーサイド開発が可能になり、用途の幅が広い言語として確立したこともあり、これからの将来性も良い傾向にあると予想できます。
No.1 Python
1位はなんといってもこの言語、Googleの三代言語の一つ「Python」です。
日本でのAI開発会社などがほとんどないため求人数に関してはそこまで多くはありませんが、これからの将来を考えると確実に使える言語です。
Pythonのいいところは、「学習がしやすい」「応用しやすい」など言語自体に柔軟性があり、まだまだこれから発展するプログラミング言語です。
さらに、Stack Overflowが毎年発表している「Developer Survey」では、2021年最もよく使われているプログラミング言語で3位を獲得しています。
ライブラリ言語部門では、Pythonのデータサイエンス系ライブラリ(NumPy・Pandas ・TensorFlowなど)がTop10にランクインしており、需要の高さが目に見えてわかります。
AI/機械学習といった汎用性のある業界を目指したい方には、これしかないといってもいいほどのおすすめ言語です。
まとめ
プログラミングは一般的に難しいと思われがちな言語ですが、ベースの基礎知識さえしっかりと習得してしまえば、どんな言語でも扱えるようになります。
最初に触る言語は特に気を使った方がいいと思います。
なので、おすすめする学習順番としては
HTML/CSS
⇩
C言語
⇩
学びたい言語
といった感じです。
あくまでもライター個人のおすすめですので、悪しからず。
プログラミングは将来性があり、高収入を目指すにはもってこいのスキルです。