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