トップに戻る
初心者がプログラミングを学ぶには?何から勉強するべき?
 > 
コラム > 
HOME > 
2022/06/15
2022/06/20

初心者がプログラミングを学ぶには?何から勉強するべき?

義務教育課程での必修化などに伴い、社会人に必要なスキルとして「プログラミング」が非常に重視されている昨今。在宅時間の増加の影響もあり、「プログラミングを学びたい!」と思っている方も増えたのではないでしょうか。今回はそのような方に向けて、初心者がプログラミングを学ぶためには、何を、どのように学べば良いのか、おすすめのプログラミング言語などと合わせて解説していきます。

そもそも、プログラミングって何?

「プログラミングについて勉強しよう」と言っても、具体的にどのような作業がプログラミングに該当するのか、説明できる方は少ないのではないでしょうか。

これについて具体的な線引きをするのは難しいのですが、端的に言うのであれば「コンピュータにしてもらう処理を作成する」のが、プログラミングという作業の目的です。

また、プログラミング自体は、テキストファイルなどに文字として処理の内容を記述するような作業になります。

文字と言っても、文章を入力するのではなく、以下のように「コード」と呼ばれる文字列を作成する作業です。

console.log("ソースコード");

for( let i=0; i<3; i++){
console.log("現在:${i+1}番目");
}

// 実行結果

// ソースコード
// 現在:1番目
// 現在:2番目
// 現在:3番目

上記のものはかなり単調なコードで、実務ではさらに膨大な行数のコードを書くことが多いです。ちなみに、管理人は1,000行以上のコードを書いたことが何度があります。

プログラミングの使用例

では、どういった部分で「プログラミング」のスキルが扱われているのか、ウェブブラウザとして最も使用率の高いGoogle Chromeを例に考えてみましょう。

Chromeでは、入力欄に検索したいキーワードを入力すると、画面が変わり、検索結果の一覧が表示されますよね。

画像中の処理を文字で簡単に図解すると、

  1. 検索欄に文字が入力される
  2. 入力された文字と関連性が高いキーワードを自動で候補として表示
  3. ユーザから検索キーワードが送信(Enter)される
  4. 送信されたキーワードと関連性の高いWEBサイトを自動的に表示

という流れになります。

本当はもっと複雑に、サーバー通信などの処理もかませているはずですが、話がややこしくなるのでここでは触れません。

私たちは当たり前のように行っているWEB検索も、その処理は全て「プログラミング」によって作られています。先述した4つの処理も、全てプログラマが処理を記述し、Google Chromeが作成された処理をその都度実行しているのです。

コードが書かれたファイルだけ用意しても、こういったシステムを作ることはできません。したがって、上記の説明だと少し間違えているのですが、ひとまずは「検索する一連の処理はプログラミングで実装されているんだあ!」と思っておいてください。

WEBデザインとプログラミングは別のもの!

プログラミングと聞くと、「WEBやIT全般に関わること」だと勘違いする方も多いですが、IT業界と一口に言っても、その業種は事細かに分かれています。

例えば、この文章の文字の色や、このようにハイライトされる文字のデザインをするような業務は、WEBデザインと呼ばれています。

WEBデザインも、WEBサイトに表示するための情報を表示するために文字の装飾内容をコードに書くので、その点はプログラミングと似ていると言えます。

ただし、コードを書かず、画像ファイルなどでWEBサイトのイメージ画像を作成する作業も、同様にWEBデザインと呼びます。

要するに、WEBデザインはコンピュータにしてもらう処理を作るのでなく、どのようにWEBサイトを表示するか、というデザインの情報を定義するものです。要するに、Wordなどで文字に色をつけるような、あの作業とやっていること自体はそれほど変わりません。

Wordの文字色や図形の配置ができるだけで「プログラミングができる」とは言えないので、プログラマを目指す方はWEBデザインとプログラミングの違いに注意しつつ、勉強していくのが良いでしょう。

プログラミングの学び方

では、本題の「プログラミングを学ぶには何をすべきか」という点についてお話していきます。

結論としては、プログラミングを学ぶ際、以下の3つのポイントを押さえておくことが重要です。

  1. 目的に合わせて学ぶ分野を選ぶ
  2. 学習に要する期間を明確に
  3. 学んだ知識を必ず実践する

これらのポイントをしっかり押さえておかなければ、せっかくプログラミングを学ぼうとしても中々スキルが身につかず、学習時間のほとんどが徒労に終わってしまう可能性があります。

それぞれの項目について、より詳しく見ていきましょう。

1.目的に合わせて学ぶ分野を選ぶ

プログラミングを学び始める場合、最も重視すべきなのが「プログラミングで何をしたいのか」、「どういった職業に就きたいのか」といった目的です。

プログラミングとは一口に言っても、その分野は多岐にわたります。WEBサイトのアニメーション実装やインターフェースの逐次生成などを担うフロントエンド分野、ユーザの目には見えない部分で重要な処理を行うバックエンド分野、現実社会でもさまざまな部分で応用されている機械学習・AI開発分野、データ解析や統計処理を進めるためにプログラムを構築するデータサイエンス分野などなど・・・

ざっと挙げていくだけでも、どれだけ多くの分野があるかわかりますよね。

当然のことながら、それぞれの分野では別々のプログラミング言語が用いられることがほとんどです。例えば普段はWEBサイトの構築などフロントエンド分野に従事するプロのプログラマーであったとしても、他の分野に参入する場合、最低でも1,2週間は勉強する期間が必要になります。プログラミングの経験がない初心者であれば、なおさら学習に時間がかかるため、どの言語を学び始めるかは非常に重要になるわけです。

そこで、「目的に合わせてプログラミングの分野を選ぶ」というポイントが大切になります。

例えば、「WEBサイト制作に携わってみたい」と考えるのであれば、学習すべき分野はフロントエンド・バックエンドの2分野に絞ることができます。

そこから更に「アニメーション制作や使いやすいWEBサイト制作など、デザインに関わることがしたい」とするならば、WEBサイトのデザイン実装などに長けたフロントエンド分野の言語に焦点を絞れるのです。逆に「お問い合わせフォームの構築などをやってみたい」という場合、バックエンド分野に進むべきだと言えます。

したがって、プログラミングを学び始める前に、まずは「学習する目的」をしっかりと定めることを忘れないようにしましょう。

後述する「おすすめのプログラミング言語」の段落で、各分野で主流となっている言語も紹介しているので、それを見ながらどれを学ぶか考えてみるのもおすすめです。

2.学習に要する期間を明確に

目的と同様に、「学習期間」を明確化させておくことも重要です。

プログラミングという概念そのものは十数年以上前からあるものですが、ここ数年の間にも、プログラミングの在り方は変わり続けています。要するに、ダラダラとプログラミングの勉強を続けていると、その勉強を終えた頃には学んだ内容が時代遅れなものになっていたり、完全な上位互換が登場していたりする可能性が大いにあるのです。

だからといって学んだ内容が無駄になるということはないのですが、せっかくならば初っ端から最新鋭の技術を習得しておきたいですよね。この問題は、学習期間を明確化させておけば、ある程度回避できます。

例えば、学習期間に1年ほど費やせる状態だとしましょう。

1年間しっかり学習できるわけですから、そこで学んだ知識が無駄になるのは避けたいところです。したがって、この場合は基板がしっかりプログラミング言語、すなわちJavaやPythonなど歴史ある言語を学習するのがベストだと言えます。歴史ある言語は既に開発もある程度終わっているものが多く、頻繁なアップデートなどがないため、学んだ内容が時代遅れになる可能性はほとんどありません。

逆に、「2,3か月の短い期間で学習したい!」という場合は、歴史ある言語を学習するには期間が短いため、できればKotlinやGoなど新世代の言語を学習するのがおすすめです。新しい言語は短い期間でも基本を学ぶことができ、その後は頻繁にアップデートされていくため、短期的に学んだ知識に上乗せする形で学習を進めていくことができます。

このように、学習する期間によって、向いている言語やそうでない言語があります。どれだけの期間学習するかを事前に決めておけば、より効果的なプログラミング学習が実現できるはずです。

3.学んだ知識を必ず実践する

学んだ知識の実践も、何かを学習する上では非常に大切な取り組みです。

プログラミングに関して言えば、理屈云々というよりは「学んだ知識で何ができるか」が絶対的に重視されます。教科書の内容を全て暗記しているだけでは、ほとんど価値の創出には繋がりません。

そのため、必ず学習した内容で何かプログラムを作ってみる、という取り組みを徹底することが重要です。もちろん知識が重要になる場面もありますが、ひとまずはトライ&エラーで、プログラミング言語をツールとして扱えるように琢磨していきましょう。

理系の知識は必要?

プログラミングは一応理系の分野にあたりますが、とりわけ数学の知識などは必要ありません。もちろん、データサイエンスや高度なアニメーション実装などには統計学や数学(三角関数など)の知識が必要になることは多いものの、今日はそういった知識がない方でもプログラミングできるような環境を容易に整えられます。

管理人は中学生の数学もままならないレベルの文系学生ですが、それでも実務レベルでプログラミングはできるようになりました。ですから、理系かどうか、数学の知識の有無などは気にしなくて大丈夫でしょう。

おすすめのプログラミング言語

最後に、プログラミング未経験者におすすめの、学びやすい、あるいは活用しやすいプログラミング言語をご紹介します。前述した開発分野に合わせて、代表的な言語を中心に紹介するので、この中から学ぶ言語を選ぶのも良いでしょう。

JavaScript

JavaScriptは、主にフロントエンド分野の開発で利用されるプログラミング言語です。

プログラミング言語としてオーソドックスな機能が一通り揃っていながら、変数の型指定など面倒な要素が少なく、初心者でも学びやすいプログラミング言語となっています。基本的にはWEBブラウザで動作させる形になるため、鬼門になりやすい開発環境の構築をする必要がないのも良いところ。

基本をしっかり学びつつ、実務の開発にも活用したい言語を探している方に適しています。

また、バックエンド開発やアプリケーション開発の分野で利用されているのも、JavaScriptをおすすめする理由です。厳密にはJavaScriptから派生した言語としてNode.jsというサーバサイド言語があり、それを用いることでサーバサイドのプログラムを構築することができます。派生言語はJavaScriptとほぼ変わらない形でコードを記述できるため、JavaScriptさえ学んでおけば、さまざまな分野で知識を応用ですることが可能です。

PHP

PHPは、主にバックエンド分野でサーバサイドの開発に用いられる言語です。

昔からあるプログラミング言語ですが、2022年現在でもまだまだ現役バリバリ。サーバサイドのプログラミングができる言語は多々あるものの、国内のレンタルサーバのほとんどはPHP以外の言語では開発できないため、事実上レンタルサーバを用いたWEBサイト運用ではPHP以外に扱えるサーバサイド言語はないと言えます。

PHPはJavaScriptなどに比べ、しっかりと正しいコードを書くことが要求されます。したがって、学習の難易度もそこそこ高くなりますが、その分、よりレベルの高いプログラミングスキルを身につけられます。

開発案件などでもPHPの名前が挙がることが非常に多いため、WEBサイトを作ってみたいという方はJavaScriptと合わせて勉強してみるのもおすすめです。

Python

Pythonは、機械学習・AI開発などの分野で頻繁に利用されている言語です。

コードの可読性が高く、初心者でも簡単に学習できるプログラミング言語として、よく「初心者向け」と紹介されます。簡単なだけでなく、アプリケーション開発やサーバーサイド開発にも利用されるなど、多くの分野で活躍しているのも人気の秘訣です。

「とにかく短期間で実用的なスキルを身につけたい」という方におすすめの言語だと言えます。

ただし、Pythonは他の言語だと考えられないようなコードの書き方でも正常に動作してしまうことがあるのが玉に瑕です。Pythonから学び始めてしまうと、他の言語を学んだ際に「Pythonだったらこの書き方でも動くのになあ~」となる可能性が高く、Pythonから学び始めた方の中には「結局プログラミングを学び直した」という方も少なくありません。

したがって、管理人的には一番初めに学ぶ言語としてはおすすめしません。可能であれば、PHPなどの言語に触れてから、2つ目以降に習得する言語として学ぶのが望ましいです。

Java

Javaは最も代表的とも言えるプログラミング言語で、バックエンド・アプリケーション開発の分野で利用されています。

JavaScriptと名前は似ていますが、JavaScriptと違って求められるスキルの敷居が高く、初心者がいきなり扱えるようになる言語ではありません。その代わり、Javaを使いこなせるようになれば、Minecraftのような高度なアプリケーションを作ることができるようになります。古い言語であることからアップデートの頻度も高くないので、1年単位でじっくり学習していけるのもポイントです。

プログラミングというものを根本的にマスターしたい方におすすめの言語だと言えます。

まとめ

プログラミングは昔に比べると身につけやすい技術にはなっているのですが、学び方を誤ると、うまくスキルが身につかない、学習した内容を何に活かせるかわからない、といったトラブルに発展してしまいます。これからプログラミングを学ぼうと考えている方は、この記事の内容を参考にしつつ、どのプログラミング言語を、どのように学んでいくか考えてみてください。

おまけ:実際にプログラミングをしてみよう

未経験の方がプログラミングを始めたいと思っても、何から始めればいいのか、全くわからないもの。

そこで、まずは皆さんにプログラミングを実際に体験してもらおうと考えています。

まずは、プログラミングをする準備から始めていきましょう。ここでは、コンソールを使い、サイト上にアラートを出力する簡単な処理を実践してみます。

ちなみに、ここで取り扱うのは「JavaScript」というプログラミング言語のコードです。非常に人気のある言語なので、初心者にも非常におすすめの言語だと言えます。

1.コンソールを開く

まずは、お使いのブラウザでコンソール(開発者ツール)を開きます。

例えばGoogle Chromeの場合、以下のどちらかの方法で開くことが可能です。

  • 画面上でマウスを左クリックし、メニューから「検証」を選択する
  • F12キー、もしくはFn+F12キーを押す

ブラウザによってこの辺りの挙動は異なるので、わからない場合は「○○(ブラウザ名)開発者ツール 開き方」などのワードで調べてみてください。

すると、以下のような画面が表示されるはず。これが、開発者ツールです。

その後、上部のタブから[コンソール]を選択すると、コンソールの画面が表示されます。

上の画面が表示されたら、準備完了です。

2. 実際にコードを書いてみる

「>」の行をクリックすると、その欄に文字を入力できる状態になります。今回は、ここにプログラムのコードを打ち込んでいきましょう。

とは言っても、あまり難解な処理を実践するのは解説する側としても大変なので、今回は簡単な「足し算の結果をアラートするプログラム」を作ります。

では、以下のコードをコンソールに打ち込んでいってみてください。

//変数rightに2を代入
let right = 2;

//変数leftに3を代入
let left = 3;

//leftとrightに代入された値の合計をalertで表示
alert(left + right);

// <-スラッシュを2つ続けて書くと、
// それ以降の文字列が無意味なもの(プログラムに反映されない)として扱われます。

成功していれば、画像のように計算結果が表示されるはずです。

上のプログラムでは、「変数」に代入した数字を扱っています。変数はデータの入れ物のようなもので、同じデータを使いまわすときなどに活用します。

変数を使うためには初めに定義する必要があり、先頭にある「 let 」という文字列が「これから変数を定義しますよ!」という合図になるわけです。

これは言語によって異なりますが、基本的には

変数の型 変数名 = 代入するデータ ;

という流れで、どの言語も変数の代入を行います。

ひとまず、この記事ではここまで!

開発環境の構築など、まだまだ解説する要素は多々あるのですが、これ以上は長くなるので、また別の機会に解説します。

SHARE