最近、ビジネススキルとして、また、2020年4月からの小学校プログラミング必修化で、プログラミングがますます注目されています。
今回は、「プログラミングとは何か」について、分かりやすくお伝えします。
「今さら聞けない」シリーズ、第1回目の投稿です。
- 今さら聞けないけど、知りたい方
- プログラミング初心者の方
- 教養として知っておきたい、ビジネスパーソンの方
- プログラミングの授業に悩む、小中学校の先生方
- お子さんを持つ、親御さん
もくじ
プログラミングとは何か?
「プログラミング」とは、「プログラム」を作ること
「プログラミング」は、英語では「Programming」と書きます。
つまり、「プログラム(Program)」を作る(する)ことです。
では、「プログラム」とは、何なのでしょう?
具体的に見ていきましょう!
プログラムとは何か?
「プログラム」というと、運動会の進行表を表す「プログラム」や、英語学習などのカリキュラムを表す「プログラム」など、さまざまな意味で使われていますが、ここでは「コンピュータプログラム」のことを「プログラム」と呼びます。
「プログラム」とは、コンピュータへの指示を書いたもの
「プログラム」とは、コンピュータへの指示を書いたものです。
「指示」のことを「命令」と言うこともあります。
「コンピュータ」は、身の回りのパソコンやスマートフォン、テレビや掃除機などの中に入っていて、人間の脳のような役割をしている小さな機械のことを指します。
「コンピュータへの指示」とは、例えば、「この画面を表示して」とか「このボタンを押したら右へ動いて」などです。
コンピュータは、必ずプログラム通りに動きます。
自動車や飛行機などの乗り物や、インターネットショッピングサイトのサーバーなどにも、コンピュータが入っていて、プログラムで制御されています。
近年、話題になっている「AI(Artificial Intelligence)=人工知能」もプログラムでできています。
つまり「プログラム」とは、パソコンなどのコンピュータに、どのように動くかという指示を書いたものです。
プログラムで何ができるの?
身の回りのほとんどの機械やシステムを動かすことができる
プログラムでは、いろいろなことができます。
例えば、以下のようなものです。
- パソコン作業の自動化(Excelなど)
- スマートフォンのアプリ開発
- Webサイト制作(インターネットショッピングサイトなど)
- ゲーム開発
- システム開発(銀行のATMシステムなど)
- 機械(電化製品など)の組込みシステム開発
- AI(人工知能)開発
可能性は無限大です!
プログラムはどうやって作るの?
「プログラム」は、「プログラミング言語」を使って作る(書く)
「プログラム」(=コンピュータへの指示)は、「プログラミング言語」を使って作り(書き)ます。
人間同士のコミュニケーションでは、日本語や英語などの言語(言葉)を使いますが、
人間からコンピュータへ指示を出す場合は、「プログラミング言語」を使います。
「Siri」や「OK Google」は、話しかけると答えてくれますが、人間の言語を解析するプログラムでできています。
ちなみに、コンピュータ同士では、「機械語」という「0」と「1」のみで表す言語を使います。
(※厳密には、「機械語」も「プログラムミング言語」の一種です。)
人間が「機械語」を使うのはとても困難なので、現代でよく使われている「プログラムミング言語」が開発されました。
昔の開発者の方々は、機械語を使ってプログラミングをしていたんです!
すごいですよね!!
「プログラミング言語」には、いろいろな種類がある
「プログラミング言語」には、いろいろな種類があります。
古い言語から新しい言語まで、なんと、300種類以上!
広く使われている言語として、Java(「ジャバ」と読む)、HTML(「エイチティーエムエル」と読む)などがあります。
子ども向けのプログラミング言語として、Scratch(「スクラッチ」と読む)というものもあります。
主要な言語は、世界共通なんです!
それぞれの「プログラミング言語」には、得意な分野があります。
例えば、パソコンの画面にインターネットのページを表示するのが得意な言語、ロボット掃除機にどうやって動くか指示をするのが得意な言語、などです。
どの「プログラミング言語」を使うかは、コンピュータをどのように動かしたいか、によって決めます。
「プログラミング言語」にも、文法がある
「プログラミング言語」にも、人間の言語と同じように、文法(書き方のルール)があります。
また、「プログラミング言語」の種類によって、それぞれ異なるルールがあります。
ただ、主要な言語に共通している点として、以下のような特徴があります。
- アルファベットと数字と記号(全て半角)を使う
- 意味のある単語を組み合わせて書く
「プログラム」の例と、作るときに使うツール
では、実際のプログラム(Java)の例を見てみましょう。
「”Hello, world!”の文字列を表示して」というプログラムです。
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
このプログラムをファイルに保存すれば、Javaプログラムの出来上がりです。
プログラムは、Windowsの「メモ帳」や、Macの「テキストエディット」で作成できます。
ただ、ほとんどのプログラマは、便利な機能が付いた専用のソフトウェアを使用してプログラムを開発します。
プログラムは、1文字間違っただけでも、正しく動かないからです。
「メモ帳」などでは、間違えたところを探すのが大変です。
専用のソフトウェアでは、上の例のように、自動で色を付けてくれたり、メールの予測変換のように次の単語を表示してくれる機能があるので、スピーディーに正確なプログラムが書けます。
このプログラムを動かすためには、準備が必要なので、興味のある方は「java eclipse」のキーワードで、検索してみてください。
※ eclipse(「エクリプス」と読む)は、プログラム開発のための有名なソフトウェアです。
プログラムを作る前にすることとは?
プログラムを作る(書く)前にすること、それは、「プログラムの設計」です。
「プログラム」を作る(書く)ためには、あらかじめ、どのようなプログラムを作る(書く)か、を決めておかなければいけません。
つまり、コンピュータにどのような指示をするかを決めて、それをどのように作ったら(書いたら)実現できるかを考える、ということです。
この作業を「プログラムの設計」と呼びます。
最初に、「プログラミングとは、プログラムを作ること」と説明しましたが、
正確には、「プログラミングとは、プログラムを設計し、作る(書く)こと」です。
何を作るか、どうやって作るか、を考えることが「プログラミング」の醍醐味なんです!
ちなみに、プログラムを書いた後は、設計した通りに動くかを確認する「テスト」という作業をします。
プログラミング学習は何から始めれば良い?
プログラミング学習を何から始めれば良いかは、それぞれの方の立場によって変わってきます。
プログラミングの学習には、主に「プログラミングの考え方(アルゴリズム)」と「プログラミング言語の文法」の2つがあります。
特定のプログラミング言語の文法と合わせてアルゴリズムを学ぶと、効率が良いです。
プログラミング初心者の方
何を作りたいのか、によって学ぶべき言語が変わってきますので、まずはそれを決めると良いと思います。
決めた言語を学びながら、アルゴリズムも合わせて学ぶことをオススメします。
ビジネスパーソンの方
ビジネスパーソンの方にいちばん身近なプログラムは、ExcelのVBAやPythonです。
他に学びたい言語がなければ、まずはVBAでマクロを作ってみることをオススメします。
小中学校の先生方
易しいプログラム言語を使って、プログラミングの考え方を重点的に学ぶことが有効だと思います。
Scratchなどの、易しい言語をオススメします。
親御さん
易しいプログラム言語を使って、お子さんと一緒にプログラミングの考え方を重点的に学ぶと良いと思います。Scratchがオススメです。
楽しいプログラミングの世界へようこそ!
まとめ
- 「プログラミング」とは、「プログラム」を設計し「プログラミング言語」を使って作る(書く)こと。
- 「プログラム」とは、コンピュータへどのように動くかという指示を書いたもの。
- 「プログラミング言語」には、いろいろな種類があり、文法もある。
- 「プログラミング学習」では、「アルゴリズム」と「文法」を学ぶ。
特定の言語の文法と合わせてアルゴリズムを学ぶと良い。
いかがでしたか?
少しでも「プログラミング」についての理解を深めていただけたら幸いです。
最後までお読みいただき、ありがとうございました。
こんにちは!
システムエンジニアのミキです。