プログラミングの始め方を初心者向けにやさしく解説
上記の通り今回はプログラミングの始め方について解説していきます。この記事は次の方におすすめできる内容です。
- プログラミングに興味がある
- 具体的にどんなことを学べばいいのか知りたい
- プログラミングの学習で必要なものがあれば知りたい
▼この記事を書いたひと
フリーランスみやしも(@miyashimo_blog)です。プログラミングやWebサイト制作に関するITの情報を幅広くお届けしていきます。
プログラミングの概要・全体像を解説する
プログラミングを始めるためにも、まずはプログラミングとはどの様なものなのか、何ができるものなのかという事を順番に確認していきましょう。
そもそものプログラミングとは?
プログラミングのことを一言でいうなら「コンピューターが意図した動きをするようにプログラムを書くこと」です。
私たちが普段から使っているPCやスマホなどのコンピューターは、いずれも『プログラム』と呼ばれるどんな手順で何をするかが書かれた命令を与えられることで動作しています。
またプログラムはあくまでコンピューターが分かる言葉で書かなければいけませんが、この際に使用する言語のことを『プログラミング言語』と言います。
つまりプログラミングとは、プログラミング言語を使ってコンピューターを動かすための命令を書く作業のことだと表現できます。この上では、プログラミングをする人や職業のことを指して『プログラマー』と呼びます。少しややこしいので、これまでに登場した用語を以下に整理しておきます。
▼プログラミング用語
- コンピューター:PCやスマホなどの機械のこと
- プログラム:コンピューターが動くために必要な命令のこと
- プログラミング言語:コンピューターに伝わる言語のこと
- プログラミング:プログラムを書く作業のこと
- プログラマー:プログラミングを行う人(職業)のこと
プログラミングでできること
プログラミングを使ってできることや作れるものを紹介します。先ほど説明したプログラミングを学習して覚えていけば、例えば次のことが実現できる様になります。
Webサービス | Webブラウザから利用できるアプリケーションのこと。開発言語にはHTML&CSS、JavaScript、PHP、Rubyなどが代表的です。 |
モバイルアプリ | iOSやAndroidなどスマホ上で動くアプリケーションのこと。いわゆるスマホアプリ。開発言語はiOSならSwift、AndroidならKotlinなどが代表的です。 |
デスクトップアプリ | WindowsやmacOSなどのデスクトップ環境で動くアプリケーションのこと。開発言語にはJava、C#、Swiftなどが代表的です。 |
ゲーム | スマホゲームやPCゲームなどのコンピュータゲーム。ゲームはUnityなどのゲームエンジンを使って開発できます。 |
ウェブサイト | 企業サイトや個人のお店で使うウェブサイト。HTML&CSS、JavaScript、PHPなどを使って開発できます。システムの部分にはWordPressを使用するのが一般的です。 |
自動化 | プログラミング言語を使えば繰り返し実行されるタスクを自動化することができます。自動化にはPytonなどの汎用的なプログラミング言語が使われます。 |
機械学習 |
機械学習アルゴリズムを作成しデータ分析、予測モデル、自動化システムなどに使用されます。Pythonなどのプログラミング言語が使われています。 |
上記からも分かる通り、私たちは普段からPCやスマホを通じてさわっているアプリやゲーム等は、いずれもプログラミングによって実現されています。
このためプログラミングを学習すれば個人でもジャンルを問わず様々なプログラムが開発することが出来ます。また開発したプログラムはアプリやWebサービスとして世の中に公開する事もできます。スキルを向上させて人材価値が上げればエンジニアとしてIT企業に就職することも可能です。
プログラミング言語には得意分野やできることの違いがあるので、プログラミングを実践したり学習するうえではプログラミング言語選びがひとつのポイントにもなっていきます。
初心者向けプログラミング言語
初心者向けの代表的なプログラミング言語には例えば以下を挙げることができます。
Python | Python(パイソン)は大量のデータ処理や自動収集、機械学習によるAI開発で使われる汎用的なプログラミング言語の1つです。Pythonは読みやすく直感的な構文から習得の難易度も低く、高い人気を獲得しています。 |
PHP |
PHPはウェブ開発に特化した汎用的なプログラミング言語。有名なWordPress(ワードプレス)もPHPで作られており、習得が容易であることや学習リソースが多さから初心者に人気があります。 |
Ruby |
Rubyはウェブ開発・自動化・デスクトップアプリなど多くの領域で使用されるプログラミング言語。ウェブ開発で使われるRuby on Railsというフレームワークも有名です。 |
Java |
Webやデスクトップアプリなど多くのプラットフォームで動作する汎用的な言語。大規模なアプリ開発向きで人材ニーズもありますが習得の難易度は比較的高めです。 |
JavaScript | JavaScriptはウェブサイト・アプリ開発で広く使用される言語です。ほとんどのウェブ開発で使用される重要な言語として非常に人気があります。Javaとは異なる言語なので混同しないように注意しましょう。 |
プログラミング言語は現在200語以上はあると言われており、技術の発展とともにその数は増え続けています。とはいえIT業界の技術や言語にはトレンドがあるので、初心者向けのプログラミング言語は上記にも挙げた通りそれほど多くはありません。
プログラミング言語を決めよう!選び方を解説
プログラミングを始めるためにも、まずは自分が学習を行うべきプログラミング言語や技術について知ることから始めていきましょう。
プログラミング言語の決め方
プログラミングには様々な言語や技術が存在するので、闇雲に学習を進めていっても非効率です。しかしプログラミングを行う【目的】さえ決まってしまえば「自分が何を学ぶべきか」が明確になり、プログラミング言語選びや後々の情報収集がしやすくなります。
またプログラミング言語には得意分野やできることに違いがあるので、例えば「〇〇〇を目指すならこの言語を学べ!!」という定番の学習コースが決まってもいます。
別の言い方をすれば目的に合わせて定番どころやニーズを押えた選択をしていくことが、失敗しないプログラミング言語の選び方だと言えます。
おすすめプログラミング言語【目的別】
プログラミング言語選びは目的から決めることが大切だとお伝えしましたが、ここで初心者が学ぶべきプログラミング言語を目的別にいくつか紹介します。
▼目的別のプログラミング言語
- ITエンジニアになってWeb系企業に就職する
→「Ruby」「PHP」「SQL」など - コーディングスキルを身につけて副業で稼ぐ
→「HTML&CSS」「JavaScript」など - Webサイト制作を覚えてWeb制作会社に就職する
→「HTML&CSS」「JavaScript」「WordPress」「PHP」など - スマホアプリを開発したい
→iPhoneなら「Swift」、Androidなら「Kotlin」など - AIを活用するための技術を学びたい
→プログラミング言語の「Python」を学習 - 表計算ソフトのデータを効率的に処理したい
→Excelなら「VBA」、Googleスプレッドシートなら「GAS」など
以上が目的別に初心者が習得すべきプログラミング言語の代表例です。
上記の目的からプログラミングを学ぼうと思ったら、実際には言語以外の様々な周辺技術も学んでいく必要があります。とはいえ初めは書籍やスクールなどの情報収集が中心になりますし、まずは必要な「プログラミング言語」だけ押えておけば問題はありません。細かな内容は実際に学習を始めてから順番に覚えていけば大丈夫です。
企業の人材ニーズを把握しよう
プログラミング学習の目的が就職・転職などのキャリアアップにある方はIT企業の人材ニーズも検討材料に加えていきましょう。
スマホやAIなどの新しい技術が登場していく様に、IT企業で使用される技術や人材のニーズも常に変化しています。このためIT業界に就職・転職するうえでもIT企業からのニーズがある人材を目指す必要があり、この上ではプログラミング言語選びが1つのポイントになっていきます。
プログラミング言語のニーズを知るには、例えば「求人数」などの指標が分かりやすいです。より高収入を目指すのであれば「単価」などもあわせて参考になります。
プログラミングで必要なものは?PC・書籍を解説
プログラミングで学習する言語が決まったら、今度は必要な道具や学習教材をそろえていきましょう。ここではプログラミングを始めるのに必要なものを順番に解説していきます。
PC(持っているのを使えばOK)
プログラミングを始めるにあたり、まずは「PC」を用意しましょう。
とはいえ、あまりに古いパソコンだったりスペックが求められる一部の目的では、PCの買い替えが必要になる場合もあります。どのみち学習の初期段階ではスペックは求められないので、買い替えは本格的に必要になってからでも遅くはありません。
買い替えの検討や初期設定に時間をかけるよりは、手持ちのPCですぐにでも学習を始めたほうが目的達成に近い動き方だと言えます。
プログラミング向けのPCスペックは?
プログラミングを始めるにあたってPCを持っていない方、持っているけど古すぎて使い物にならないという方は、この機会に新しく購入しましょう。プログラミング用に新しくPCを購入する場合は、次のスペックを基準に選ぶのがおすすめです。
OS | macOS |
種類 | ノートPC |
CPU |
Apple M1/Intel Core i5以上 |
メモリ | 8GB以上 |
ストレージ | 256GB以上 |
プログラミングは基本的にWindows・Macのどちらでも行えますが「使いやすく持ち運びしやすい」「UNIXコマンドが使える」「iPhoneアプリが開発できる」などの理由からMacが推奨される傾向にあります。
学習教材|書籍・オンライン
プログラミング学習にあたっては学習教材を積極的に活用しましょう。プログラミング向けの教材には例えば以下があります。
▼学習教材
- 本・電子書籍
- 動画・テキストなどのデジタル教材
- オンライン学習サービス
プログラミングの学習教材にもいろいろありますが、初めは「書籍」が目的に合わせて順序だてて書かれているので学びやすいです。
一方ではWebブラウザを通じて利用できるオンライン学習サービスも便利に使うことができます。
▼オンライン学習サービスの特徴
- Webブラウザを使ってプログラミング学習ができる
- 画面に打ち込む体感型や、動画を使った学習方法がある
- 質問掲示板やチャットを使ってエンジニアに相談できる
上記の通りオンライン学習サービスを利用すれば、書籍とは一味違った学習方法が体験できます。またサービスによっては質問掲示板が使えたり、エンジニアに相談できるものもあるので「書籍だけを頼りに独学するのは不安だな...。」という方にもおすすめできます。
ローカル環境|ソフトウェア・ツール
プログラミングを本格的に行う段階では、自分のPCに「ローカル環境」を構築していきましょう。
ローカル環境とは個人のPCで完結するプログラムの開発環境のことです。自分のPCにローカル環境を構築すれば、PCで作成したプログラムの実行やテストができる様になります。ローカル環境は一般的に次のようなソフトウェア・ツールを組み合わせて構築します。
▼ソフトウェア・ツール
- プログラミング言語
- テキストエディタ
- データベース
- Webサーバー
- 仮想化ソフトウェア
プログラミング関連のソフトウェア・ツールの利用にはお金がかかるイメージの方も多いですが、実際はフリーソフトとして提供されているものが多いのでほとんど無料で利用可能です。
このほかプログラミングのローカル環境に関する情報は、次の記事でも詳しく確認できます。あわせてご参考くださいませ。
プログラミング学習で役立つ情報
ここからはプログラミング学習の方向性が決まってきた方に向けて、実際の学習で役立つツールを紹介していきます。
①Progate(プロゲート)
「Progate(プロゲート)」はWebブラウザから利用できるプログラミング学習サービスです。画面に向かってコードを打ち込みながら、スライド形式で課題をこなしていく学習スタイルが特徴的です。感覚的にプログラミングが体験できるので、知識ゼロの状態からでもプログラミング学習を始めることが出来ます。
種別 | オンライン学習サービス |
サービス名 | |
運営会社 | 株式会社Progate |
サービス開始 | 2014年 |
料金プラン | 無料プラン:0円/月
1ヶ月:月額1,490円/月(税込) 6ヶ月:月額1,290円/月(税込) 12ヶ月:月額990円/月(税込) |
習得可能スキル | HTML&CSS、JavaScript(jQuery)、Ruby、Ruby on Rails、PHP、Java、Python、コマンドライン、Git、SQL、Sass、Go、React |
▼公式サイト
②ドットインストール
「ドットインストール」では3分の短い動画レッスンを見ながら、プログラミングやウェブ開発のスキルを手を動かしながら学ぶことができます。初心者向けのコンテンツが豊富で、コミュニティとサポートも充実しています。
種別 | オンライン学習サービス |
サービス名 | |
運営会社 | 株式会社ドットインストール |
サービス開始 | 2011年 |
料金プラン | 無料会員:0円/月
プレミアム:月額1,080円/月(税込) |
習得可能スキル | HTML&CSS、JavaScript、PHP、Python、Ruby、Java、Go |
▼公式サイト
③侍テラコヤ
「侍テラコヤ」はサブスク型のオンライン学習サービスです。基本的には教材を読みながら学習を進めていきますが、現役エンジニアによる月1回以上のレッスンといつでも質問できるQ&A掲示板があり、オンライン学習サービスの中でもサポート体制が充実しています。
種別 | オンライン学習サービス |
サービス名 | |
運営会社 | 株式会社SAMURAI |
サービス開始 | 2022年 |
料金プラン | フリープラン:0円/月
有料プラン:2,980円〜/月(税込) |
習得可能スキル | HTML&CSS・JavaScript(jQuery)・PHP・Laravel・Ruby・Ruby on Rails・Git・SQL・Python・Webデザイン・Web制作 |
▼公式サイト
おすすめのプログラミングスクール
ここからはおすすめのプログラミングスクールをまとめて紹介します。
▼プログラミングスクールの特徴
- 現役エンジニアのマンツーマン指導が受けられる
- 就職・転職などのサポートもしてくれる
- 補助金を使えば少ない負担で利用することができる
DMM WEBCAMP
「DMM WEBCAMP」はDMMが運営するオンラインITスクールです。未経験でも短期間で上達できる独自カリキュラムと現役エンジニアの専属講師のサポートがあるので、知識ゼロからでも安心してプログラミングを始めることができます。
種別 | プログラミングスクール |
サービス名 | DMM WEBCAMP(ディーエムエム ウェブキャンプ) |
運営会社 | 株式会社インフラトップ |
サービス開始 | 2014年 |
料金プラン |
4週間プラン:14,900円/月〜 |
習得可能スキル | Python、Java、Ruby、PHP、JavaScript、HTML&CSS、Webアプリ開発、データベース、Webデザイン、動画制作、AI(人工知能)、データサイエンス |
▼公式サイト
侍エンジニア
「侍エンジニア」は株式会社SAMURAIが運営するマンツーマン専門のプログラミングスクールです。現役エンジニアが学習から卒業までサポートしてくれるだけでなく、転職のサポート体制も充実しているので、プログラミングを覚えてキャリアアップに繋げたいと考えている方に最適です。
種別 | プログラミングスクール |
サービス名 | 侍エンジニア |
運営会社 | 株式会社SAMURAI |
サービス開始 | 2013年 |
料金プラン |
・転職保証コース(Webエンジニア) |
習得可能スキル | Python、Java、Ruby、PHP、JavaScript、HTML&CSS、Webアプリ開発、データベース、Webデザイン、動画制作、AI(人工知能)、データサイエンス |
▼公式サイト
テックアカデミー
「TechAcademy(テックアカデミー)」はキラメックス株式会社が運営するプログラミングスクールです。TechAcademyではWebサイトやWebサービスを中心とした様々なプログラミング・技術について学ぶことができます。
種別 | プログラミングスクール |
サービス名 | TechAcademy(テックアカデミー) |
運営会社 | キラメックス株式会社 |
コース |
はじめての副業、フロントエンド副業、フロントエンド副業セット、Webデザイン、デザイン実践ポートフォリオ、Webデザインフリーランス、Webデザインフリーランスセット、フロントエンド、Ruby on Rails、PHP/Laravel、WordPress、Java、はじめてのプログラミング |
習得可能スキル | HTML&CSS、JavaScript(jQuery)、Ruby(Ruby on Rails)、PHP(Laravel)、WordPress、Java、Git/GitHub |
▼公式サイト
この記事のまとめ
今回はプログラミングの始め方について詳しく解説していきました。いずれもプログラミングを始めるうえでご活用いただきたい情報です。
このほか当ブログではプログラミングに関する情報を多数掲載しています。あわせてご活用くださいませ。
▼関連記事を探す