この記事は、
「プログラミングを始めたいけど、最初は何をしたらいいのかわからない」
という人を対象にした記事です。
前半は「プログラミングに関する基礎知識」、 後半は「プログラミングを始めたいと思ったら最初にすること」を説明しています。
一気に読むのが難しいという方は、本ブログをブックマークしておくことをオススメします。
プログラミングの基礎知識(きそちしき)
プログラミングとは? プログラムとは? バグとは?
プログラミングとは、プログラムを作成すること(行為)を意味します。 プログラムとは、プログラミングを行うことで作成されるもので、機械の動作内容を示したものです。
最近流行っている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つのモデルケースとしてお考えください。
また、とにかくプログラミング力を向上させたいと思っている方には、以下の記事が参考になるかと思います。
プログラミングが上達する人・しない人 【現役エンジニアの実体験】
この記事は、「どうやったらプログラムがうまく書けるようになるのかなぁ?」と思っている方へ向けての記事です。 「筆者がプログラムをうまく書けなかった時代」の体験談を載せていますので、同じような状態に陥っている方には効果があると思います。