最近よく「プログラミングは出来るようになった方がいい」や「プログラマーになると働き方が変わる」など、なんとなく「将来の役に立つ」と思われている方が多いのではないでしょうか?
実際、将来を担う現代の小学生たちも、2020年からプログラミング教育を受け始めています!今後はネット社会になっていくこともあり、文部科学省は小・中・高でのプログラミング教育を必修としました。
今回は、もう学校では教わることの出来ない方々にも、分かりやすいように『そもそもプログラミングとは何か』『なぜプログラミングが必要なのか?』『どうしてプログラミングを学ぶことがメリットになるのか?』
これらの疑問を解消するため、解説していきたいと思います!
この記事の目次
プログラミングとは何か
「プログラミング」とは、「人間がコンピュータに実行してほしい一連の作業を組み立てること」です。そしてこの一連の作業のことを、プログラムと言います。
そもそも「プログラム」とは、コンピュータに実行してほしい一連の作業を「順番に記載したもの」です。
例えば、
「運動会のプログラム」や「卒業式のプログラム」のように、イベントの一日の流れが順番に書かれた紙のことも「プログラム」と言いますよね?
また、似たものに、料理の「レシピ」があります。一品出来上がるまでの、正しい順番と正しい処理の流れが書かれているからです。
これを踏まえて、「プログラミング」とは何かを説明すると、人間がコンピュータにやってほしいことを『この順番で、こういう処理を、この流れでしてね~』と伝えるレシピ作りの作業と言えるでしょう。
では一体プログラミングを活用するとコンピュータはどんなことができるのでしょうか?
プログラミングで出来ること
プログラミングで出来ることは1個とでは表せないほどたくさんあります。
例えば、Excelでも、日付を表の一番上に入力すれば、その下は1行1行手間をかけて入力しなくても、ドラッグすれば自動でコンピュータが入力してくれますよね?
こんな風に、「何度も同じ事をする」面倒な作業や、単純な繰り返しの作業などは、その動作をするための「プログラム」を、私たちがコンピュータに分かるように書いてあげることで、私たちの代わりにコンピュータが、高速で、正確に、終わらせてくれます!
便利ですね!!
他にも、普段私たちが使っているLINE、Instagram、Twitter、Google Map…などの様々なアプリは、単純な繰り返しの作業を、複雑に、何個も、組み合わせてできています。
他にもこのブログのデザインもプログラミングで作られていますし、ニンテンドースイッチ等のゲームもたくさんのプログラミングを元に1つ1つのゲームが作られています。
このように、単純なものから複雑なものまでプログラミングを活用することで便利なものを生み出すことができています。
プログラミングができるようになると
・面倒な繰り返し作業を自動化できる
プログラミングが出来るようになると、私たちの生活の面倒臭い繰り返し作業は自動化することができます。さらに知識とスキルを磨けば、より一層便利なプログラムや面白いプログラムを作ることができ、生活を楽に、豊かにすることが出来るようになります。
・年収が上がりやすい
今はIT化が進んでいるので、プログラミングができる人材が求められており、平均年収もプログラマーとそれ以外の業種となると、プログラマーの方が約100万円も高いという結果も出ています。
・論理的思考力が身につく
更に、プログラミングは順序よくコンピュータに指示したいことを書いていく必要があるため、物事の仕組みを理解し順序立てて考える、論理的思考力が身に付くと言われています。
コンピュータの仕組みを理解することで、世の中の多くのシステム内部が想像しやすく、エラーの解決など、知識を活用しやすい、コンピュータに強くなるなどの利点もあります。
プログラミング言語とは
突然ですが、皆さんはスウェーデン語を話せますか?
もし話せない場合、いきなりスウェーデン語で誰かに何かを指示されても、どうすることも出来ないですよね?これと同じで、コンピュータもコンピュータの話す言語であるプログラミング言語で指示を出されないと動けないのです。
「プログラミング」=「プログラムをコンピュータに分かるように書いてあげること」ですので、
人間の言語(日本語/英語etc.…) をそのまま使うのではなく、コンピュータの言語(プログラミング言語)を使って、人間がコンピュータにわかるように指令を出してあげなければいけません。
ではこの、コンピュータが理解できる「プログラミング言語」を学ぶ前に、前提知識として、「機械語」についてお話しします。
皆さんは「コンピュータは0と1しか使わない」というのを聞いたことがありますか?
日本語や英語、ほかにも様々な言語がスラスラと出てくるコンピュータを見ると、想像するのが難しいかもしれませんが、実は、本当にコンピュータは0と1しか理解できません。
この、0と1を 何億桁…何兆桁…何京桁………と並べたのが、コンピュータの分かる「機械語」なのですが、「00101101・・・」などと書いてあっても、人間には一瞬で理解することができないため、人間が理解しやすいように「機械語」を分かりやすくした言語が、「プログラミング言語」なんです。
そのため、「プログラミング言語」を学ぶ上でも、この「機械語」を土台として、いくつかの言語に派生していることを知っておくことは重要です。
そして、人間の言葉にも、「ラテン語」を土台として、英語、イタリア語・フランス語・スペイン語・ポルトガル語など様々な言語が存在するように、プログラミング言語にも、様々な種類が存在します。
プログラミング言語の種類
まずは近年主流のプログラミング言語をいくつか紹介したいと思います。
HTML(エイチティーエムエル)
CSS(シーエスエス)
Java Script(ジャバ スクリプト)
( Java(ジャバ))
PHP(ピーエイチピー)
Ruby(ルビー)
Python(パイソン)
これらのプログラミング言語について、今回は、おおまかな説明をしていきたいと思います。
それらを通じてどんなことができるのかも書いているので、是非プログラミングに興味がある方は参考にしてくださいね!
HTML(エイチティーエムエル)
HTMLは、ウェブページを作成するために開発された言語で、現在、インターネット上で公開されているウェブページのほとんどは、HTMLで作成されています。
HTMLとは、Hyper Text Markup Language(ハイパーテキスト・マークアップ・ランゲージ)の略称で、
「ハイパーテキスト」
→よく、URLやリンクと呼ばれる、クリックすると新しいWebページに移動できる機能 と、
「マークアップランゲージ」
→Web上の文字の色や角度、見出し1、2、3…などの設定を「タグ」という記号で印づけ(マークアップ)してWebの骨組みを作成する機能
を活用した言語です。
HTMLはWeb制作で欠かせない、コンピュータに「文章構成」を指示する、骨組み作りの言語というようなイメージが近いかもしれません。
CSS(シーエスエス)
CSSは、HTMLで作られたWebサイトの骨組みを、飾りつけするような言語です。
Webデザインのための、Webの見栄えを細かく指定するための言語。とえるでしょう。
CSSとは、Cascading Style Sheets (キャスケーディング・スタイル・シート)の略称で、単純に「スタイルシート」とも呼ばれます。
Cascadingには「上から引き継いだ」のような意味合いがあり、HTMLから引き継いだ骨組みに飾り付ける(スタイルする)、という意味でも、CSSはHTMLと組み合わせて、一つのWebページを作るために使われる言語です。
Java Script(ジャバ スクリプト)
Java Scriptも、Webページを作るHTML,CSSと深い関わりがあり、Webページを閲覧するための「検索」をする、Google Chrome, Microsoft Edge, Safari などの「Webブラウザ」上で、プログラムが動くときに利用される言語です。
Java ScriptはWebブラウザ上でアニメーションを動作させることができたり、WebサイトやWebサービス開発に使われます。中でも、より私たちが目にする表側の部分(私たちが閲覧や操作をする部分)を開発するときに使われます。
現在全世界の男と90%以上のサイトが、JavaScriptを利用していると言われています。
『スクリプト言語』
Java ScriptのScript(スクリプト)には、「手書き」や「脚本」といった意味があり、前述した「機械語」よりも、人間の話す言語(特に英語)に近いため、比較的容易に記述や実行ができ、習得しやすい、という特徴があります。こういった言語のことを広義で『スクリプト言語』と言います。
Java(ジャバ)
Javaは、Java Scriptができる以前に出来ていた、JavaScriptとは別の言語です。大規模開発を支援するオブジェクト指向プログラミングに対応している言語で、
Javaは、JVM(Java Visual Machineの略)という「仮想マシン」を使って動くため、様々なコンピュータ上でも同じように動作する汎用性が特徴で、小さな機械や、自動車などの組み込みコンピュータにも使われている言語です。
PHP(ピーエイチピー)
PHPは、動的なWebページを作成するのに向いている『スクリプト言語』です。
PHPとは、Hyper Text Preprocessor(ハイパーテキスト・プリプロセッサ)の別称で、前述したHTMLと共通の「ハイパーテキスト」を活用しています。
HTMLが骨組みの「動かない」Webページを作るとしたら、PHPは掲示板・問い合わせフォーム・ショッピングカートなど、「動く」Webページを作るのに活躍します。
たとえば、問い合わせフォームではユーザーが入力した内容や、ショッピングカートではユーザーが購入した商品の種類や数に対応して、文字や数字、選択肢など、確認画面で表示される内容が変化(動き)ますが、これらはPHPの処理によって動いているのです。
Ruby(ルビー)
Rubyは、1995年に一般公開されたオブジェクト指向の『スクリプト言語』です。
制作者は まつもと ゆきひろ(通称:Matz)さん という方で、まつもとさんの好きないくつかのプログラミング言語の「いいとこ取り」をして作られた、新しい言語なのです。
Rubyは、ショッピングサイト、ブログサイト、アプリケーションサイトなど、「フレームワーク」を使い構築できるWebサイトを制作するのに向いています。
Rubyと似たプログラミング言語には、Python(パイソン)があります。
Python(パイソン)
Pythonは、統計学、解析、分析などで、人工知能・機械学習といった分野を得意とします。一見、Rubyと全然違うように見えますが、
PythonもRubyと同じく『スクリプト言語』で、シンプルな構文と明確なルールのため、プログラミングが全くわからない初心者の方でも分かりやすく、習得した後も幅広い分野で生かすことができます。
そのためPythonは初心者にとって1番と言っていいほど、学ぶのにおすすめのプログラミング言語です。
プログラミングを習得するにはまず何から?
では、どのようなプロセスを踏めば、これらの「プログラミング言語」を習得することができるのでしょうか?
プログラミング習得でNGなこと
まず、最初に、お伝えしたいのは、『プログラミングスクールに入校したからといって、いとも簡単に、直ぐに、プログラミングができるようにはならない』ということです。
皆さんに「多額のスクールに入ったが、結局そんな簡単にプログラミングスキルを得ることは出来なかった…」とはなっていただきたくないので、まずこの点をお伝えしておきます。
そして、『いくら下調べをしても、「実際に手を動かしてプログラムを書いてみる」に勝る「習得方法」はない』ということも、覚えておいていただけると良いかなと思います。
プログラミング習得でおすすめの方法
ということはつまり、「お金をかけず」に、「沢山実践ができる方法」で、プログラミングを学ぶ。ということが、
『プログラミングを習得したいけれど、まず何をから始めればいいのか分からない…』という人に、おすすめの最初の一歩です!
無料のプログラミング習得おすすめサイト
汎用性が高く、記述しやすい「Python」もしくは「Ruby」を学びたい人 におすすめなのが、
Propagate(プロゲート) ( https://prog-8.com/ )です。
こちらは、まずプログラミング言語(Python)がどのようにコンピュータ内で動くのかをイメージするのもぼんやりしていて分からない。というような初心者の方も安心して始められる無料のサイトです!
ぜひ、こちらhttps://prog-8.com/からすぐに、『無料で』『実践』してみましょう!
こちらの記事も合わせてお読みいただけたらと思います!
プログラミングとは?のまとめ
今回は、
プログラミングとは何かという部分から、実際の習得方法についてお話ししました!
IT化が急速に進んでいる今、すぐに始められる方法で、まずできることからぜひ取り組んでみてください!
プログラミングスキルがあなたの将来に役立つ時がくることを心より願っています!