プログラミングを始めたいと思ったら最初にすること ※現役エンジニアのおすすめ

プログラミングを始めたいと思ったら最初にすること プログラミングの始め方
本ページは、プロモーションを含んでいる場合があります。

この記事(きじ)は、

「プログラミングを始(はじ)めたいけど、最初(さいしょ)は何(なに)をしたらいいのかわからない」

という人(ひと)を対象(たいしょう)にした記事(きじ)です。

前半(ぜんはん)は「プログラミングに関(かん)する基礎知識(きそちしき)」、 後半(こうはん)は「プログラミングを始(はじ)めたいと思(おも)ったら最初(さいしょ)にすること」を説明(せつめい)しています。

一気(いっき)に読(よ)むのが難(むずか)しいという方(かた)は、本(ほん)ブログをブックマークしておくことをオススメします。

プログラミングの基礎知識(きそちしき)

プログラミングとは? プログラムとは? バグとは?

プログラミングとは、プログラムを作成(さくせい)すること(行為(こうい))を意味(いみ)します。 プログラムとは、プログラミングを行(おこな)うことで作成(さくせい)されるもので、機械(きかい)の動作内容(どうさないよう)を示(しめ)したものです。

最近流行(さいきんはや)っているAI(えーあい)もプログラムの一種(いっしゅ)です。 AI(えーあい)は、機械(きかい)が自分(じぶん)で動(うご)いているイメージがありますが、学習(がくしゅう)や判断(はんだん)の方法(ほうほう)を人間(にんげん)が一定(いってい)のルールを定(さだ)めてプログラムに変換(へんかん)したものなのです。

バグという言葉(ことば)を聞(き)いたことがありますでしょうか?
ゲームなどをしていると、よく「バグった」と言(い)うことがありますよね。 バグとは、想定(そうてい)されていない動作(どうさ)を行(おこな)った際(さい)にプログラムがおかしな動作(どうさ)をすることです。

プログラミングをする上(うえ)でバグは避(さ)けて通(とお)れないものです。 自分(じぶん)でプログラミングするようになると、ゲームなどのバグも少(すこ)しは許(ゆる)せるようになるかもしれませんね。

プログラミングが使われている身近なもの

身近(みぢか)なもの、例(たと)えばテレビやスマートフォンなどがプログラミングが使(つか)われているものの代表例(だいひょうれい)です。メニューを表示(ひょうじ)したり、アプリケーションを動作(どうさ)させたりといった部分(ぶぶん)がプログラムの動作内容(どうさないよう)になります。

今日(こんにち)では様々(さまざま)な機械(きかい)が普及(ふきゅう)しているため当(あ)たり前(まえ)と感(かん)じてしまいますが、コンセントに接続(せつぞく)して使(つか)うものや、電池(でんち)で動作(どうさ)するもののほとんどにプログラミングが使(つか)われているといっても過言(かごん)ではありません。

一度(いちど)、家(いえ)にあるものを見直(みなお)してみるのも良(よ)いと思(おも)います。
もし「作(つく)ってみたい」と思(おも)った製品(せいひん)があったら、それが目標(もくひょう)になり、モチベーションになりますからね。

プログラミングを行う職業(しょくぎょう)・企業(きぎょう)

プログラミングを行(おこな)う職業(しょくぎょう)や企業(きぎょう)にどのようなものがあるかご存知(ぞんじ)でしょうか?

一番有名(いちばんゆうめい)な職業(しょくぎょう)は、やはりプログラマでしょうね。
その他(ほか)にも、システムエンジニア(SE(えすいー))や研究職(けんきゅうしょく)などもプログラミングを行(おこな)うことがあります。

プログラミングを業務(ぎょうむ)としている企業(きぎょう)としては、IT企業(あいてぃーきぎょう)が代表(だいひょう)ですね。
IT企業以外(あいてぃーきぎょういがい)にもプログラミングを業務(ぎょうむ)としている企業(きぎょう)は多(おお)く、電機(でんき)メーカーや建設機械(けんせつきかい)メーカーなど多岐(たき)にわたります。
ちなみに筆者(ひっしゃ)は電機(でんき)メーカーでプログラミングを行(おこな)っていました。

「大学生(だいがくせい)ランキング・理系(りけい)(1位(い)~10位(い))」を見(み)ても、ほとんどの企業(きぎょう)がプログラミングが出来(でき)る人(ひと)を欲(ほっ)していると思(おも)われます。例(たと)えば、以下(いか)に示(しめ)す企業(きぎょう)などです。

順位 企業名
1 トヨタ自動車
2 ソニー
5 パナソニック
7 三菱電機
8 日立製作所

プログラミングの学び方

プログラミングを学(まな)ぶ方法(ほうほう)は大(おお)きく分(わ)けて3つあります。
1つ目(め)は学校教育(がっこうきょういく)。2つ目(め)はプログラミングスクール(塾(じゅく))。3つ目(め)は独学(どくがく)です。

まず学校教育(がっこうきょういく)ですが、これまでは大学(だいがく)の情報学部(じょうほうがくぶ)や専門学校(せんもんがっこう)などでしか学(まな)ぶことができませんでした。
ですが、2020年(ねん)からは小学校(しょうがっこう)でもプログラミング教育(きょういく)が必修化(ひっしゅうか)されたりと、プログラミングの学(まな)びの場(ば)が増(ふえ)えてきています。
本格的(ほんかくてき)に学(まな)びたいというのであれば、やはり大学(だいがく)が一番(いちばん)だと思(おも)います。

続(つづ)いて、プログラミングスクールです。 プログラミング教育(きょういく)の需要(じゅよう)の高(たか)まりを受(う)けて、最近(さいきん)ではプログラミングスクールも多(おお)くなってきました。
無料体験(むりょうたいけん)できるスクールもあり、プログラミングがどんなものかを知(し)るには良(よ)いと思(おも)います。
また、学校教育(がっこうきょういく)と違(ちが)い、オンラインの講義(こうぎ)だけというスクールもあります。
時間(じかん)のない社会人(しゃかいじん)の方(かた)にも人気(にんき)ですね。

【行くべきか?】プログラミングスクールは高すぎる?【無料や給付金もあるよ】
プログラミングスクールに行くべきか悩んでいるという方向けに、何するところなのか、どういう風に選んだら良いのかを解説しています。無料や給付金を使うことができるプログラミングスクールについて調査した結果もまとめていますので、よろしければご覧ください。

最後(さいご)は独学(どくがく)です。
昔(むかし)と比(くら)べて書籍(しょせき)やWeb(うぇぶ)が充実(じゅうじつ)してきたので、独学(どくがく)でプログラミングを習得(しゅうとく)することも不可能(ふかのう)ではありません。
ただ、やはり独学(どくがく)だと習得速度(しゅうとくそくど)が遅(おそ)くなってしまったり、間違(まちが)ったやり方(かた)で覚(おぼ)えてしまうことも少(すく)なくないです。
筆者(ひっしゃ)の考(かんが)えですが、1つの言語(げんご)をマスターした後(あと)に他(ほか)の言語(げんご)を習得(しゅうとく)する際(さい)には独学(どくがく)も有効(ゆうこう)な手段(しゅだん)だと言(い)えます。

プログラミングを学ぶことで身につくこと、小学校プログラミング教育の意味

プログラミングを行(おこな)うと、よく「論理的思考力(ろんりてきしこうりょく)」が身(み)につくと言(い)われています。

論理的思考力(ろんりてきしこうりょく)は、ビジネスや大学(だいがく)の研究(けんきゅう)などの様々(さまざま)な場面(ばめん)で役立(やくだ)ちます。
特(とく)に何(なん)らかの課題(かだい)を解決(かいけつ)する場合(ばあい)などに重宝(ちょうほう)する能力(のうりょく)で、グローバル社会(しゃかい)の競争(きょうそう)を勝(か)ち抜(ぬ)く上(うえ)で非常(ひじょう)に大事(だいじ)になってきます。

グローバル社会(しゃかい)の競争(きょうそう)を勝(か)ち抜(ぬ)く能力(のうりょく)を幼(おさな)いころから身(み)につけること、それが小学校(しょうがっこう)でプログラミング教育(きょういく)を行(おこな)う意味(いみ)なのです。

興味(きょうみ)がある方(かた)は、「小学校(しょうがっこう)プログラミング教育(きょういく)に関(かん)する概要資料(がいようしりょう)」をご覧(らん)ください。

プログラミングを学ぶために必要なもの、プログラミングを仕事にするために必要なもの

プログラミングを行(おこな)うには、プログラミング言語(げんご)を習得(しゅうとく)する必要(ひつよう)があります。

プログラミング言語(げんご)はテキストで表現(ひょうげん)するものと、図形(ずけい)で表現(ひょうげん)するものがありますが、どちらのタイプを学(まな)ぶ際(さい)にもパソコン(Windows(うぃんどうず)またはMac(まっく))が必要(ひつよう)になります。
タブレットやスマートフォンでもプログラミングを学(まな)ぶことはできるとは思(おも)いますが、やはりパソコンを持(も)っていたほうが良(よ)いと思(おも)います。
このサイトではWindows(うぃんどうず)パソコンを持(も)っていることを前提(ぜんてい)として記事(きじ)を記載(きさい)しています。

また、プログラミングを仕事(しごと)にする上(うえ)で必要(ひつよう)なもの(例(たと)えば資格(しかく)など)はありません。つまり、プログラミングを行(おこな)う能力(のうりょく)があれば、誰(だれ)でも職業(しょくぎょう)にできるのです。
ただし、やはり資格(しかく)を持(も)っているほうが就職(しゅうしょく)の際(さい)には有利(ゆうり)になります。プログラミングやIT(あいてぃー)に関(かん)する資格(しかく)には、様々(さまざま)なものがあります。
どんな資格(しかく)があるのか興味(きょうみ)がある方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。

プログラミングに関する資格の一覧、難易度やおすすめの資格など
プログラミングの資格について、難易度や取得のメリット、就職に有利になるかなどを掲載。IT企業で管理職を務める筆者のおすすめ資格(キャリア・経験年数別)も紹介。プログラミングの資格について、「どんなものがあるのかな?どれがいいのかな?」と思っている人向けの記事です。

プログラミングを始めたいと思ったら最初にすること

目的を決める

プログラミングを行(おこな)うにはプログラミング言語(げんご)を習得(しゅうとく)する必要(ひつよう)がある、ということを上(うえ)で述(の)べました。

プログラミング言語(げんご)は非常(ひじょう)に多(おお)く、すべてのプログラミング言語(げんご)を習得(しゅうとく)するのは現実的(げんじつてき)ではありません。
どのようなプログラミング言語(げんご)があるのか興味(きょうみ)がある方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。

人気のプログラミング言語の一覧とその特徴、目的別おすすめもご紹介
「プログラミング言語ってたくさんあるけど、どれを学んだらいいかわからない」という人向けの記事です。たくさんあるプログラミング言語の中で、今現在も人気のある言語の特徴について説明します。目的別のおすすめプログラミング言語も紹介しています。

それぞれのプログラミング言語(げんご)には得手不得手(えてふえて)があります。 よって、自分(じぶん)が作(つく)りたいものに適(てき)しているプログラミング言語(げんご)を選択(せんたく)して学(まな)んでいくことが大事(だいじ)になってきます。

あなたが作(つく)りたいものは何(なん)ですか?

スマホアプリ、Windows(うぃんどうず)アプリ、Web(うぇぶ)サービスなどなど、世(よ)の中(なか)にはたくさんのプログラムがあります。 まずは作(つく)りたいものをイメージしてみてくださいね。

ここからは、作(つく)りたいものややりたいことなどの目的(もくてき)の一例(いちれい)をあげて、最初(さいしょ)に何(なに)をすれば良(よ)いのか説明(せつめい)していきます。

目的別プログラミングのはじめの一歩

プログラミングがどんなものか知りたい、子供に学ばせたい

プログラミングがどんなものか知(し)りたい、または子供(こども)に学(まな)ばせたいという方(かた)には、Scratch(すくらっち)というプログラミング言語(げんご)がおすすめです。NHK(えぬえいちけー)の教育番組(きょういくばんぐみ)でも使(つか)われていました。

Scratch(すくらっち)は、テキストでなく図形(ずけい)を用(もち)いてパズルのようにプログラミングしていくため、子供(こども)に最適(さいてき)な言語(げんご)だと思(おも)います。Scratch(すくらっち)の始(はじ)め方(かた)について知(し)りたいという方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。

Scratchの始め方。アカウントの作り方や基本操作など。
「Scratch(スクラッチ)を始めてみたいけど、どうすればいいの?」という人向けの記事です。 チュートリアル動画をベースに基本操作の説明や、アカウントの作り方も説明。 専用ツール不要、Webブラウザから気軽に利用可能。

また、プログラミングの基本(きほん)である「順次(じゅんじ)・分岐(ぶんき)・反復(はんぷく)」について視覚的(しかくてき)に学(まな)べるため、自然(しぜん)とプログラミングが身(み)についていきます。 「順次(じゅんじ)・分岐(ぶんき)・反復(はんぷく)」について知(し)りたいという方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。

プログラミングの基本となる3つの処理【順次・分岐・反復】とフローチャート
プログラミングの基本となる3つの処理【順次・分岐・反復】をイメージ図でわかりやすく解説。プログラミング学習の一番最初に身につけましょう。順次・分岐・反復それぞれのフローチャートの書き方も掲載。

スマホアプリ・タブレットアプリを作りたい(Android)

Android(あんどろいど)のスマホアプリ・タブレットアプリを作(つく)りたい場合(ばあい)、Android Studio(あんどろいど すたじお)という専用(せんよう)の開発環境(かいはつかんきょう)をインストールする必要(ひつよう)があります。

また、ゲームを作(つく)りたい場合(ばあい)は、Unity(ゆにてぃー)やCocos-2dx(ここすつーでぃーえっくす)といったフレームワークを習得(しゅうとく)する必要(ひつよう)があります。

難易度(なんいど)は高(たか)いですが、作(つく)っていく過程(かてい)は非常(ひじょう)に楽(たの)しいです。

まったくの素人(しろうと)の場合(ばあい)、いきなりゲームから入(はい)るのはおすすめはしません。 簡単(かんたん)なスマホアプリなら、比較的短時間(ひかくてきたんじかん)で作(つく)れると思(おも)います。

Android Studio(アンドロイドスタジオ)の始(はじ)め方(かた)について知(し)りたいという方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。

Android Studioの始め方。インストールから使い方まで。
「Android Studio(アンドロイドスタジオ)を始めてみたいけど、どうすればいいの?」という人向けの記事です。 インストールから使い方まで、スクリーンショットを掲載して丁寧に説明。 Androidアプリ開発に興味がある方へ。

ホームページ、Webサービスなどを作りたい

ホームページやWeb(うぇぶ)サービスは、サーバー側(がわ)とクライアント側(がわ)の2つの領域(りょういき)に分(わ)けられます。

クライアント側(がわ)とは、主(おも)にWeb(うぇぶ)ブラウザへの表示(ひょうじ)を担当(たんとう)しています。 このクライアント側(がわ)のプログラミングが、他(ほか)のプログラミング言語(げんご)などと比較(ひかく)して一番習得(いちばんしゅうとく)しやすい言語(げんご)になると思(おも)います。 もし、目的(もくてき)があまり明確(めいかく)でないという方(かた)はここから始(はじ)めてみると、プログラミングに慣(な)れていけるかもしれません。 ただ、覚(おぼ)えなければならない言語(げんご)は多(おお)く、HTML(えいてぃーえむえる)、CSS(しーえすえす)、Javascript(じゃばすくりぷと)が必要(ひつよう)になります。

サーバー側(がわ)とは、主(おも)にデータの処理(しょり)などを担当(たんとう)しています。 クライアントからの要求()に応(おう)じて表示(ひょうじ)すべきデータを返(かえ)す、といったようなことを行(おこな)っています。 作(つく)るものによっては、データベースの知識(ちしき)が必要(ひつよう)になったりします。

Windowsアプリを作りたい

Windows(うぃんどうず)アプリを作(つく)る場合(ばあい)、Visual Studio(びじゅある すたじお)というMicrosoft(まいくろそふと)が提供(ていきょう)しているツールが必要(ひつよう)になります。

昔(むかし)は結構作(けっこうつく)りにくい印象(いんしょう)のあったWindows(うぃんどうず)アプリですが、C#(しーしゃーぷ)という言語(げんご)の登場(とうじょう)によって非常(ひじょう)にとっつきやすくなりました。

Web上(うぇぶじょう)にサンプルやトラブルシューティングが非常(ひじょう)に多(おお)く、学(まな)びやすい環境(かんきょう)にあると言(い)えるでしょう。

Visual Studio(ヴィジュアルスタジオ)の始(はじ)め方(かた)について知(し)りたいという方(かた)は下記(かき)の記事(きじ)をご覧(らん)ください。

Visual Studioの始め方。インストールから使い方まで。※2019/2022無料版
「Visual Studio(ビジュアルスタジオ)を始めてみたいけど、どうすればいいの?」という人向けの記事です。 インストールから使い方までスクリーンショット多めで丁寧に説明。Visual Studio 2019/2022を使用した開発に興味がある方へ。

AIを作りたい

AI(えーあい)を作(つく)る場合(ばあい)、機械学習(きかいがくしゅう)と呼(よ)ばれる仕組(しく)みを扱(あつか)えるプログラミング言語(げんご)を選択(せんたく)するのが必須(ひっす)になります。

昨今注目(さっこんちゅうもく)を浴(あ)びているのが、Python(ぱいそん)という言語(げんご)です。

というのも、TensorFlow(てんそるふろー)やKeras(けらす)といった機械学習(きかいがくしゅう)のためのフレームワーク・ライブラリが豊富(ほうふ)にあるからです。

Python(ぱいそん)は比較的簡単(ひかくてきかんたん)な言語(げんご)なので、もしAI(えーあい)を作(つく)らない場合(ばあい)でも習得(しゅうとく)しておいて損(そん)はないでしょう。

電子工作を始めたい/プログラミングの基礎を身につけたい

モーターなどのハードウェアを制御(せいぎょ)して、物理的(ぶつりてき)に動(うご)くモノを作(つく)ってみたい人(ひと)もいると思(おも)います。

そのような電子工作(でんしこうさく)をする際(さい)には、C言語(しーげんご)が必要(ひつよう)になる場合(ばあい)があります。

C言語(しーげんご)は難易度(なんいど)が高(たか)めの古(ふる)い言語(げんご)ですが、シンプルでプログラミングの基礎(きそ)が学(まな)べる良(よ)い言語(げんご)です。

本(ほん)ブログでは、C言語講座(しーげんごこうざ)も公開(こうかい)しています。初心者(しょしんしゃ)にもわかりやすいような解説(かいせつ)を心掛(こころが)けていますので、興味(きょうみ)がある方(かた)はぜひ覗(のぞ)いてみてください。

C言語の始め方(初心者向けC言語講座)
C言語歴20年以上の現役エンジニアがC言語について説明しています。 重要なポイントを学習しやすい構成にしているつもりです。 変数、分岐処理、反復処理、・配列、構造体、関数、ポインタ、ファイルの取り扱い、など。ポインタの理解に主眼を置いています。

さいごに

いかがでしたでしょうか?

「プログラミングを始(はじ)めたいと思(おも)ったら最初(さいしょ)にすること」は明確(めいかく)になりましたでしょうか?
多少(たしょう)なりとも参考(さんこう)になりましたら幸(さいわ)いです。

もし、わかりにくい部分(ぶぶん)などがございましたら、コメントでお知(し)らせいただければと思(おも)います。 ご指摘(してき)いただいた内容(ないよう)も含(ふく)めて、本記事(ほんきじ)は随時更新(ずいじこうしん)していく予定(よてい)です。

本(ほん)ブログでは、IT(あいてぃー)エンジニアを目指(めざ)している方(かた)に参考(さんこう)になりそうな情報(じょうほう)も掲載(けいさい)しています。筆者(ひっしゃ)の経験(けいけん)や実際(じっさい)の年収例(ねんしゅうれい)などを公開(こうかい)していますので、興味(きょうみ)がある方(かた)は以下(いか)のリンクからどうぞ。

ITエンジニアの始め方(ITエンジニアになるには)
ITエンジニア歴15年以上の筆者が、ITエンジニアになるために必要な情報(予備知識や始め方など)を公開しています。筆者の経験や実際の年収例なども公開していますので、1つのモデルケースとしてお考えください。

また、とにかくプログラミング力(りょく)を向上(こうじょう)させたいと思(おも)っている方(かた)には、以下(いか)の記事(きじ)が参考(さんこう)になるかと思(おも)います。

プログラミングが上達する人・しない人 【現役エンジニアの実体験】
この記事は、「どうやったらプログラムがうまく書けるようになるのかなぁ?」と思っている方へ向けての記事です。 「筆者がプログラムをうまく書けなかった時代」の体験談を載せていますので、同じような状態に陥っている方には効果があると思います。
タイトルとURLをコピーしました