もくじ
プログラミングとは何か?
![プログラミングとは?](https://korublog.com/wp-content/uploads/2020/02/whats-programming-500x281.png)
『プログラミング教育』っていうけれど、そもそも『プログラミング』って何でしょうか?
コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。
コンピュータは、人間のように自分で考えて動くことができません。
人間が、「このような順番で、この処理をしてね(=プログラム)」と伝えることで初めて、動いてくれます。
このプログラムを作成することが「プログラミング」といわれています。
「コンピュータ」というとパソコンを想像しがちですが、日常生活ではこんなところにも「プログラム」が使われています。
- 炊飯器や電子レンジ、洗濯機等の家電(組み込み系と言われています)
- 店舗のホームページ、ネット通販の決済システム等
プログラミング言語にはどんな種類があるの?
![プログラミング言語の種類は?](https://korublog.com/wp-content/uploads/2020/02/programming-languages-500x281.png)
プログラミング言語の数は、300種類以上(※)と言われています。
※2019/04/18現在のWikipedia参考数値
なんでそんなに多くの言語があるの?って疑問に思う方もいらっしゃるかもしれません。
その答えは、次のサイトで分かりやすく表現してありました。
(例)穴を掘りたいとき
小さい穴ならスコップ、大きい穴ならショベルカー
用途によって道具(言語)が増えていった。。ということですね。
ここでいう「用途」とは、プログラミング言語の場合、ざっくり次のように分けられます。
- WEBサイト開発
- Webアプリ開発
- ソフトウェア開発
- ゲーム開発
- 人工知能(AI)・機械学習
- データ解析
プログラミング言語のシェアランキング
Google検索で、プログラミング言語のチュートリアル(※)がどれだけ検索されたかを元にランキング付けしている「PYPL PopularitY of Programming Language」。
こちらを元に、TOP5の各言語でできることと、どのようなサービスに使われているかをまとめてみました。
予備知識として、興味ある方はご覧ください!
※チュートリアルとは、初心者向けの教材のことです。
![](https://korublog.com/wp-content/themes/jin/img/rank01-girly.png)
![](https://korublog.com/wp-content/uploads/2019/04/python-300x223.jpg)
できること | 機械学習・人工知能の開発、データ分析、IoT、Webアプリ |
---|---|
使われているサービス | YouTube、Instagram、Pepperなど |
特徴 | ・シンプルなコード(簡単で分かりやすい!) ・機械学習と言えばPythonのため、ニーズが高まっている (求人数が多く、年収も高め) |
![](https://korublog.com/wp-content/themes/jin/img/rank02-girly.png)
![Java](https://korublog.com/wp-content/uploads/2019/04/Java-300x261.png)
できること | Androidアプリ開発、Webサイト開発、組み込み開発(家電等)など |
---|---|
使われているサービス | Twitter、楽天、MINECRAFTなど |
特徴 | ・新入社員研修で選ばれることが多い ・動作環境(場所)を選ばない (Windows、Mac、Linuxどこでも動かせる) ・動作速度が速い |
![](https://korublog.com/wp-content/themes/jin/img/rank03-girly.png)
![javascript](https://korublog.com/wp-content/uploads/2019/04/javascript-300x234.png)
できること | Webサイト・アプリ開発、ゲーム開発 |
---|---|
使われているサービス | Googleマップ、YouTube、Wikipedia、Amazonなど |
特徴 | ・開発環境でてこずることがない (ブラウザがあれば簡単に始められる) ・普段行っているブラウザ操作を作成できるので、勉強の際にはイメージしやすい |
![](https://korublog.com/wp-content/themes/jin/img/rank04-girly.png)
![Csharp](https://korublog.com/wp-content/uploads/2019/04/Csharp-300x300.jpg)
できること | デスクトップアプリ開発、Webサイト・アプリ開発など |
---|---|
使われているサービス | Windows、Skypeなどのマイクロソフト製品、Bing |
特徴 | ・Webアプリや業務系システム開発、VR・ゲーム開発と汎用性がある ・Javaと 似ているため、C#を使えるとJavaの学習も簡単になる (逆も言えますね) |
![](https://korublog.com/wp-content/themes/jin/img/rank05-girly.png)
![PHP](https://korublog.com/wp-content/uploads/2019/04/PHP-300x292.png)
できること | Webサイト・アプリ開発 |
---|---|
使われているサービス | WordPress、Facebook、Yahoo!など |
特徴 | ・他の言語に比べると、学習は比較的容易。 (Webに特化していることもあり、学習範囲が広くない) |
プログラム作成の流れ(=プログラミング)
![](https://korublog.com/wp-content/uploads/2019/03/checklist-640-500x500.png)
プログラムを作るときには、次のような工程があります。
①プログラムの仕様(要件)を決める
コンピュータにどのような動きをさせたいか(どの機能が必要か)を決めます。
②プログラムの設計をする
要件を元に、画面デザインや動作(処理)方法等々、要件通りに動かすためには、どのように作ればよいかを考えます。
③プログラムのコーディングをする
②で決められた通りに、作っていきます。
この作業を「ソースコードを書く」=『コーディング』と言います。
「ソースコード」とは、コンピュータがわかる言葉(プログラミング言語)で書かれたもののことです。
プログラミング言語の種類はとても多いので、詳しく知りたい方は、調べてください!
簡単に例を挙げると、HTML、CSS、Java、PHP、C#、JavaScript、Pythonなどです。
お子さんが使うものとしては「Scratch(スクラッチ)」が有名ですね。
④テスト・修正をする
設計した通りに書けたか、テストします。
テストで不具合(バグ)が出た場合、それを直す→またテストと続きます。
⑤完成!!
テストが全て終わると、完成です。
※実際の業務では、この後また色々ありますが、ここでは省きます。
![](https://www14.a8.net/0.gif?a8mat=35B77W+8FN3AQ+2P76+6DC69)