2020年、小学校でプログラミング教育が始まります。
続いて、2021年(令和3年)には中学でもプログラミング教育が必修化。「技術・家庭」科目の一部として導入されます。
2022年からは、高校でも必修科目になります。科目は全員必修の「情報Ⅰ」にプログラミングが含まれるようになります。さらに、選択科目の情報IIでは、ソフトウェア開発プロセスやデータ分析、VRなどの技術にも踏み込んだ内容になっていくようです。
義務教育で全員がプログラミングを学ぶようになっていくため、すでに社会に出て働いている大人も、ある程度のプログラミング知識は必須となっていくでしょう。
- 小学高・中学高の義務教育でプログラミングが必須化し、高校でも2022年から必須化
- ジグソーパズルのようにプログラムを組み立てる Scratch が入門ツールとして人気
- プログラミングの勉強には環境構築不要のオンライン学習がオススメ
- コードを書くプログラミングの入門にはJavascript、PHP、Pythonなどがオススメ
目次
プログラミングとは、コンピュータに仕事の命令を指示すること
プログラミングは、コンピュータに対して仕事の命令を与えることを指します。
【関連記事】
▶プログラミングとは何か?初心者にもわかりやすく説明しました!
特定のプログラミング言語で、複数の命令語を組み合わせてコーディング(ソースコードと呼ばれる命令語をコンピュータに打ち込んでいく)するのが一般的ですが、最近では処理のブロックイメージを画面で操作して、レゴブロックのように処理ロジックを記述していくコーディング不要なタイプのプログラミングも出てきました。
小学校で習うプログラミングでは、スクラッチと呼ばれるツールを使って、絵を組み合わせてプログラミングをおこないます。
スクラッチは、ウェブで無料利用できるプログラミング環境。
ジグソーパズルのようなコードとスプライトと呼ばれる動く画像を使って、簡単なゲームなどを作ることができます。
マサチューセッツ工科大学(MIT)のメディアラボが開発したプログラミング学習用ソフトで、世界中のプログラミング教育で最も使われています。
文字を打ち込んでいくタイプとは違い、直感でわかりやすいビジュアルプログラミングと呼ばれる方式でプログラミングなので、初見でも取っ付き易いのがメリット。
漢字混じりの日本語版のほか、ひらがなの「にほんご」版があり、小学校低学年から使えるようになっています。
他の開発者のコードを参照したり、リミックス(取り込んで一部を変更する)ということも可能な環境のため、自分のペースでトライ&エラーを繰り返すことができ、学習には最適です。ゲーム感覚でプログラミングが学べる環境と言えるでしょう。
Scratchを使って作られたゲームが多数、公式サイト内に公開されていて、登録なしで試してみることができます。
【関連記事】
▶プログラミング言語のスクラッチってなんのこと?
あくまで簡単なプログラムを作れる程度のもので、基礎を学ぶには良いですが高度な処理をさせるのは難しいのがデメリットと言えます。
googleのBlocklyのような、ビジュアルプログラミングをJavascriptやPythonに変換してくれるツールもありますが、本格的なシステム開発を考えると、どこかの時点でメジャーなプログラム言語をコーディングする開発スタイルに移行する必要が出てくるでしょう。
参考)Blockly | Google Developers
プログラミングの基礎 チュートリアルやサンプルコードを実行する
スクラッチなどのビジュアルプログラミングから入りたい人、実際に現場で使われているプログラミング言語の初歩から始めたい人さまざまだと思います。
いずれにしても、決められた手順で想定通りに動くチュートリアルやサンプルコードを動かしてみて、一部を変更しながら動作がどのように変わるかを確認していくのが良いでしょう。
【関連記事】
▶はじめに身につけておきたいプログラミングの基礎知識
スクラッチとは違って、一般的なプログラミング言語は開発環境、実行環境の構築が必要になってきます。環境構築は、単にソフトをインストールすれば良いというものではなく、組み合わせるソフトウェアのバージョンの互換性や、各種設定を行うなどソフトウェアに関する知識・経験が求められます。
しかし、どの言語を学ぶのが良いのかを試す段階では、コードを打ち込めば即実行可能な、オンラインエディタや、オンライン学習環境のり用が便利です。
プログラミング入門には、オンライン学習環境がおすすめ
開発環境のセットアップ(環境構築)は、初心者には難しいです。
プログラミングを学ぶ段階では、ブラウザにサンプルコードを入力すれば動く、ブラウザ型の学習環境がおすすめ。
参考)ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
たとえば、paiza.ioというサイトは、C言語、C++、PHP、Java、Javascriptなど開発の現場でもメジャーなプログラミング言語から、Python、Ruby、R、Rustなど多くの言語に対応しています。
また、paizaやドットインストールなどのサイトには、動画のプログラミングチュートリアルが多数公開されています。無料公開されているチュートリアルもありますので、まずはチェックしてみると良いでしょう。
【関連記事】
▶プログラミング入門!これからの人も挫折した人もどうぞ
paizaは多彩な言語に対応していて、日本語化されているのでとても使い勝手が良いです。ただ、サイトがとても遅い時間帯や、指定のバージョンでコードの動作を確認したい場合は、以下のサイトも併用すると良いでしょう。
Online PHP editor | Test code in 250+ PHP versions
ブラウザ上でPHPコードが実行できる学習サイト。複数のPHPバージョンで、動作の違いを確認できるのが特徴です。
Python Online Editor – Python Online IDE – Python Programming Online
Pythonのオンライン環境。バージョン指定で3.5、3.6、3.7に変更可能。バージョン2には対応していません。
PlayCode – Code Sandbox. Online Code Editor
Javascirptのコードをブラウザで実行できるオンラインエディタ。Javascriptと互換性のあるTypescriptやCoffeescriptの実行も可能です。
独学には、メンターを設定すると効率アップ
プログラミングを体系的に学びたいという場合は、無料で公開されている動画チュートリアルなどを利用するほか、プログラミングスクールに通うという選択肢もあります。
独学でのプログラミングの問題点は、原因のわからないエラーやバグの対処方法がわからず、時間ばかりかかってしまう点です。
会社でのシステム開発なら先輩社員に「このコードが動かないんですけど」と聞くこともできるでしょう。
しかし、独学の場合は、忙しい先輩にはなかなか聞くことができないですよね。
オンラインスクールの料金はそれなりに高いのですが、メンターと呼ばれる個別質問に答えてくれる講師がつくのがポイント。
「このコードが動かないのだけど、理由がわからない」と言った質問に個別に答えてくれるんですね。
【関連記事】
▶プログラミングを独学で学ぶなら、初心者にも効率よく学べる方法とは?
近年、オンライン教材が充実してきており、独学でプログラミングを学ぶ人も増えています。つまづく事なく学習が進められる場合はそれでもよいでしょう。もし、独学だけでは分からないことが多くて、うまく学習が進められない場合は、オンラインのプログラミングスクールもオススメです。例えば「ポテパンキャンプ」では、現役エンジニアが丁寧に分からないことを教えてくれる環境が整っており、少ない期間でエンジニアになれるようなカリュキュラムもあります。
初心者向けの言語は、Javascript、PHP、Pythonなど
プログラミング初心者は、どの言語から始めれば良いのでしょうか?
2020年のTIOBE INDEXでのプログラミング言語人気ランキングベスト5は以下の通りです。
- Java
- C
- Python
- C++
- C#
- Visual Basic .NET
- JavaScript
- PHP
- SQL
- Go
参考)index | TIOBE – The Software Quality Company
TIOBE Programming Community indexは、プログラミング言語の人気度を示す指標です。(月一更新)
世界中のエンジニア数、コース、サードパーティベンダーの数をベースにした評価となってます。Google、Bing、Yahoo!、Wikipedia、Amazon、YouTube、Baiduなどの人気検索エンジンが評価の計算に使用されているため、ネットの露出が多い言語が人気上位にくる傾向があります。この指標で上位の言語が最高のプログラミング言語というわけではありません。また、より多く使われている言語ということでもないので、注意して下さい。
新しくプログラミング言語を習得する際に、「人気のプログラミング言語って何?」という指標として考えると良いでしょう。
特に初心者用の人気上位の言語として、Javascript、PHP、Python、Rubyなどがあります。
Javascriptは、ブラウザさえあれば気軽に実行できるスクリプト言語です。ただ、デバッグにはそれなりの環境が必要なので、ある程度長めのコードを書くには初心者には少し敷居が高いかも知れません。
if (age >= 60) { console.log("あなたは60才以上です。") } else if (age >= 20) { console.log("あなたは20才以上です。") } else { console.log("あなたは20才未満です。") }
【関連記事】
▶【JavaScript入門】JavaScriptで作れる「モノ」と基本構文を解説
PHPは、HTMLにコードを埋め込むことで動作する言語です。どのような処理をしているのか直感的にわかりやすいのですが、PHPの環境とウェブサーバを用意する必要があります。
<html><body> This is test. <?php $a="Hello"; $b="world"; echo "$a, $b"; ?> </body></html>
【関連記事】
▶PHP入門に最適な基本構文のサンプルコード集 オンラインで即実行可能
Pythonは、コードの書き方にある程度のルールがあり、難解な記述がしにくいため学習用としてもおすすめな言語です。それでいて、科学技術計算や最新のAI関連のライブラリが多数用意されているため、人気の言語です。
# -*- coding: utf-8 -*- a="Hello" b="world" #文字の連結 c=a+b print( "%s+%s=%s" % ( a,b,c ) ) #文字列の繰り返し f=a*10 print( f ) #フォーマット文字列で整形 d=format( '%s %s' % (a,b) ) print( d ) #置換 g=b.replace('or','OR') print( g ) #文字列両端のスペース、タブ文字、改行を削除 h=' hello \n\n\n' print( h ) i=h.strip() print( i )
【関連記事】
▶Python入門用 サンプルコード集 コピペで実行結果を確認しながら学習する方法
Rubyは、日本発のウェブ系プログラミング言語です。gemと呼ばれるライブラリが多数公開されています。エレガントなコード記述ができるためプログラマーに人気の言語ですが、独学で最初に学ぶには、やや敷居が高いです。
if age >= 60 then p "あなたは60才以上です。" elsif age >= 20 then p "あなたは20才以上です。" else p "あなたは20才未満です。" end
【関連記事】
▶Ruby入門 〜 未経験からRubyエンジニアになるための基礎知識 | 「ポテパンスタイル」
いずれにしても、がっちり開発環境のセットアップに取り掛かる前に、ブラウザでコード実行できる学習環境で、サンプルコードを実行したりチュートリアルを試してみて、習得できそうな言語を選ぶのが良いでしょう。
【関連記事】
▶完全未経験でも大丈夫!プログラミング初心者は何から始めるべきかを徹底解説!
まとめ
2025年時点で36万4千人のIT人材が不足すると言われる中、小学・中学・高校でプログラミングが必修化されるなど、政府によるIT人材育成にも力が入ってきています。ITがより身近な存在になる将来に向けて、この機会にプログラミングを学んでみましょう。
- Scratchなどのビジュアルプログラミングは、小学生から始められる。
- 学習には、環境構築不要のブラウザベースのコード学習環境がおすすめ。
- Python、Javascript、PHPなどの初心者向けの言語を選んで、サンプルコードやチュートリアルを試す。
- オンラインスクールなどで、メンターなど質問できる相手が居るとハマる時間を減らして、学習効率が上がる。