プログラミング教育必修化 PR

プログラミングとは何か?

プログラミング教育
記事内に商品プロモーションを含む場合があります

プログラミングとは何か?

プログラミングとは?

プログラミング教育』っていうけれど、そもそも『プログラミング』って何でしょうか?

コンピュータのプログラミング: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。

Wikipedia

 

コンピュータは、人間のように自分で考えて動くことができません。

人間が、このような順番で、この処理をしてね(=プログラムと伝えることで初めて、動いてくれます。

このプログラムを作成することが「プログラミングといわれています。

「コンピュータ」というとパソコンを想像しがちですが、日常生活ではこんなところにも「プログラム」が使われています。

プログラムは身の回りに溢れています!
  • 炊飯器や電子レンジ、洗濯機等の家電(組み込み系と言われています)
  • 店舗のホームページ、ネット通販の決済システム等
koru
koru
私達の生活には、プログラミングされて作られたものが定着していますね。  

プログラミング言語にはどんな種類があるの?

プログラミング言語の種類は?

プログラミング言語の数は、300種類以上(※)と言われています。
※2019/04/18現在のWikipedia参考数値

なんでそんなに多くの言語があるの?って疑問に思う方もいらっしゃるかもしれません。

その答えは、次のサイトで分かりやすく表現してありました。

(例)穴を掘りたいとき
小さい穴ならスコップ、大きい穴ならショベルカー

出典:Think IT

用途によって道具(言語)が増えていった。。ということですね。

ここでいう「用途」とは、プログラミング言語の場合、ざっくり次のように分けられます。

プログラミング言語の用途
  1. WEBサイト開発
  2. Webアプリ開発
  3. ソフトウェア開発
  4. ゲーム開発
  5. 人工知能(AI)・機械学習
  6. データ解析

プログラミング言語のシェアランキング

Google検索で、プログラミング言語のチュートリアル(※)がどれだけ検索されたかを元にランキング付けしている「PYPL PopularitY of Programming Language」。

こちらを元に、TOP5の各言語でできることと、どのようなサービスに使われているかをまとめてみました。

予備知識として、興味ある方はご覧ください!

※チュートリアルとは、初心者向けの教材のことです。

Python
近年シェアが急上昇しているPython。
機械学習のメイン言語として使われているため、人気・シェアが高まっている。
できること機械学習・人工知能の開発、データ分析、IoT、Webアプリ
使われているサービスYouTube、Instagram、Pepperなど
特徴・シンプルなコード(簡単で分かりやすい!)
・機械学習と言えばPythonのため、ニーズが高まっている
(求人数が多く、年収も高め)

 

Java
Java
Androidアプリのほとんどに使われているJava。
経験者が多い分、学習の際には参考サイトも多いのが魅力。
安定した人気度のため、仕事数も多く、新人研修で選ばれやすい言語。
できることAndroidアプリ開発、Webサイト開発、組み込み開発(家電等)など
使われているサービスTwitter、楽天、MINECRAFTなど
特徴・新入社員研修で選ばれることが多い
・動作環境(場所)を選ばない
(Windows、Mac、Linuxどこでも動かせる)
・動作速度が速い

 

JavaScript
javascript
サイトの多くに使われているJavaScript。
ブラウザ(Chrome、Edge、Safari、IE等)上で動くプログラミング言語。
Javaと名前が似ているけれど、関係は何もない。
できることWebサイト・アプリ開発、ゲーム開発
使われているサービスGoogleマップ、YouTube、Wikipedia、Amazonなど
特徴・開発環境でてこずることがない
(ブラウザがあれば簡単に始められる)
・普段行っているブラウザ操作を作成できるので、勉強の際にはイメージしやすい

 

C#
Csharp
マイクロソフトが開発しているC#。
そのため、Windows向けアプリの開発に使われている。
それ以外にもUnityというソフトを使うことで、VR開発やゲーム開発にも使用できる。
できることデスクトップアプリ開発、Webサイト・アプリ開発など
使われているサービスWindows、Skypeなどのマイクロソフト製品、Bing
特徴・Webアプリや業務系システム開発、VR・ゲーム開発と汎用性がある
・Javaと 似ているため、C#を使えるとJavaの学習も簡単になる
(逆も言えますね)

 

PHP
PHP
Webに特化しているPHP。
SNSやサイトなどに多く使われている。
Web系開発に興味ある人には、PHPがおすすめ。
できることWebサイト・アプリ開発
使われているサービスWordPress、Facebook、Yahoo!など
特徴・他の言語に比べると、学習は比較的容易。
(Webに特化していることもあり、学習範囲が広くない)

 

プログラム作成の流れ(=プログラミング)

プログラムを作るときには、次のような工程があります。

①プログラムの仕様(要件)を決める

コンピュータにどのような動きをさせたいか(どの機能が必要か)を決めます。

②プログラムの設計をする

要件を元に、画面デザインや動作(処理)方法等々、要件通りに動かすためには、どのように作ればよいかを考えます。

③プログラムのコーディングをする

②で決められた通りに、作っていきます。

この作業を「ソースコードを書く」=『コーディング』と言います。

「ソースコード」とは、コンピュータがわかる言葉(プログラミング言語)で書かれたもののことです。

プログラミング言語の種類はとても多いので、詳しく知りたい方は、調べてください!

簡単に例を挙げると、HTML、CSS、Java、PHP、C#、JavaScript、Pythonなどです。

お子さんが使うものとしては「Scratch(スクラッチ)」が有名ですね。

④テスト・修正をする

設計した通りに書けたか、テストします。

テストで不具合(バグ)が出た場合、それを直す→またテストと続きます。

⑤完成!!

テストが全て終わると、完成です。

※実際の業務では、この後また色々ありますが、ここでは省きます。

koru
koru
①②をしっかり考えないと、大きく戻りが発生します。。。