「プログラミング学習は何から始めたらいいの?」「どのプログラミング言語を選ぶべき?」と悩んでいる方向けに、プログラミングの基礎知識や学習の始め方を解説。さらに、学習のコツについても紹介します。今からプログラミング学習を始めようと考えている方はぜひご覧ください。
なお、未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。
最終更新日:2023年7月28日
目次
コンピューターは、人間が命令しなければ動きません。コンピューターをどのように動かすか、命令が書き込まれているプログラム(=作業指示書)に命令を書き込む作業をプログラミングと言います。プログラミングを行う際に使われるのがプログラミング言語です。
パソコンの中だけでなく、身近なところでも、非常に多くのものにプログラムが使われています。
例えば、プログラミングが使われているのは次のような場面です。
• 自動販売機のボタンを押すとジュースが出る
• 事故が起きないようなタイミングで信号が変わる
• 洗濯機のスイッチを押すと自動的に必要な作業が行われる
プログラミング言語は、人間の指示をコンピューターに伝えるための言葉で、プログラムを書く時に使われます。プログラミング言語にはさまざまな種類があり、それぞれ特徴や得意分野が異なります。
プログラミングが使われる分野と、それが得意なプログラミング言語の組み合わせは以下の通りです。
ジャンル | プログラミング言語 |
---|---|
Web開発 | Ruby/JavaScript/PHP |
AI開発 | Python |
ゲーム開発 | C# |
ハードウェア | C言語 |
アプリ開発 | Java |
目標を持たずにただなんとなくプログラミングの学習を始めると挫折する可能性が高くなり、また目的によって学習すべき言語や学習の方向性に違いが出ることも。
そのため、例えば「エンジニアになるために学習をしたい」「就職のために学習するのであれば資格取得も同時に目指したい」など、何のためにプログラミングを学習するのかを考えてみましょう。プログラミングを使う仕事は、以下の記事を参考にしてみてください。
プログラミングで作れるものと主な使用言語は、以下のとおりです。
• Webプログラミング
HTML/CSS、JavaScript、Java、PHP、Ruby、MySQLなど
• Webデザイン
HTML/CSS、JavaScript、Illustrator、Photoshopなど
• スマホアプリの開発
Java、Kotlin、Swift、Flutter、ReactNativeなど
• データ解析やAI(機械学習の基礎)の開発
Python、R、Juliaなど
• 2D/3Dゲームの制作
Unity(C#、JavaScript)、Unreal Engine、Mayaなど
たとえば「Webサービスを作りたい」と思っているのであれば、HTML/CSSやJava、PHPなどの言語を選ぶと良いでしょう。
プログラミングで何が作れるのか、活用例をさらに詳しく知りたい方は以下の記事をご覧ください。
プログラミングスクールに通うことを検討している方や、勉強会やセミナーに参加する予定の方、また集中して勉強するためにコワーキングスペースの活用を考えているのであれば、ノートパソコンが便利です。
新しいパソコンを用意する場合は、次の4つの項目に留意して選ぶと良いでしょう。
■ CPU
プログラミング学習をスムーズに進めるなら、Core i5以上のCPUを選ぶとストレスを感じにくいでしょう。
CPUはCore i3→Core i5→Core i7の順で、処理スピードが早くなります。ただし、性能の良いCPUが搭載されているパソコンほど高価になる傾向があるため、予算とのバランスも考えて決めると良いでしょう。
■ ストレージ
ストレージはHDDとSSDの2種類があります。
HDDは記憶容量が大きく価格が安いといったメリットがありますが、PCの起動速度が早いだけでなく作動音も静かで、また消費電力も低いため発熱も少なく、衝撃にも強いSSDがおすすめです。
■ メモリ
メモリは最低でも8GB以上のものを選びましょう。
余裕があれば16GB以上をおすすめしますが、もし迷う場合には後から増設できるタイプのPCを選んでおくと、後から動作に不満を感じた時にメモリを追加することが可能です。
■ OS
OSはMacかWindowsのどちらかを選びましょう。
Macは、同じApple社が開発したSwiftとの相性が良いため、iOSアプリを開発したいならMacがおすすめです。また、Linuxをベースとして作られたOSであるため、慣れておくと将来業務で役立つ可能性もあります。しかし、Windows専用のアプリとは相性が悪い点がデメリットです。
一方、Windowsのパソコンは生産販売する企業が多く量産されているため、Macと比べて低価格で入手できるメリットも。また世界でも圧倒的なシェアを誇るためOSの情報やフリーソフトが手に入りやすい点がメリットです。当然ながら、Windowsアプリの開発にも向いていますが、iOSアプリの開発が難しい点がデメリットと言えるでしょう。
• ソフトやエディタなどのダウンロード
• わからないことを調べる
• 動画教材などの閲覧
プログラミング学習の前に、光回線またはモバイルルーターを用意しましょう。
光回線は接続が安定しやすく、高速な通信が可能です。大容量データのやり取りに最適なだけでなく月額料金が固定で利用し放題なので、データ通信量を気にせず使いたい人や、家族とシェアして使いたい人は光回線を選びましょう。
モバイルルーターは、工事が不要で手軽に使えるのがメリット。賃貸住宅にお住まいの方や回線費用を抑えたい人、また外出先でも手軽に使いたい人にはモバイルルーターがおすすめです。
環境構築には手間がかかるため、慣れていないと環境構築に時間がかかってしまい、なかなか言語の勉強を始めることができなくなってしまうことも。
さらに自分のPCの環境とチュートリアルサイトや書籍の環境が異なると、書かれている通りにセットアップを行っても環境構築ができず、言語が実行できないケースもあります。
もし環境構築がどうしてもうまくいかない場合は、クラウドソーシングサイトなどを利用して有償でエンジニアにサポートしてもらうという方法も選択肢のひとつです。
また、クラウド上の実行環境を使うというのもひとつのやり方です。例えば「PaizaCloud」のように、最近はWebサイト上でソースコードを入力して実行できるサービスがいくつも登場しています。
最初は、環境構築が不要な無料のプログラミング学習サイトを活用するのもおすすめです。
プログラミング学習サイトについては、以下の記事で詳細を解説していますのでぜひご覧ください。
• Ruby
日本語の解説が豊富
• Java
需要が高く就職や転職に役立つ
• Python
シンプルで独学でも習得しやすい
• C言語
汎用性が高く幅広いシーンで使える
• C#
幅広い分野に対応可能
• JavaScript
Webブラウザ上で動作する
• PHP
Web開発に使われることが多い
プログラミングを学ぶ目的をふまえたうえで、初心者向け言語の中から学習する言語を選んでみましょう。
HTMLはWebブラウザの見た目を構成し、CSSは見た目を装飾するコンピューター言語です。おすすめする理由としては以下の理由があります。
• 言語を書いて動かす環境がすぐ作れる
• 見た目を作ったり装飾する言語なので、コンピューターに命令した結果がすぐに見える
• 基本的な内容が身につくまでの時間が短い
• 報酬は安いが、副業の需要がある
HTML・CSSを習得したら、JavaScriptというプログラミング言語を学習するといいでしょう。JavaScriptはブラウザ上で動作するプログラミング言語で、Webサイトに動きを与えるために使われます。
本格的なWeb制作を行うつもりがない人でも、できあがったプログラムをサービスとして公開する場合や、転職・就職のためのポートフォリオを作成する場合にはHTML・CSS・JavaScriptが必要です。そのため、3つをセットで覚えておいて、損はありません。
HTML・CSS・JavaScriptを覚えた後に学ぶべき言語は目的によって異なります。例えば、AIに関する仕事をしたいならPython 、ロボットや家電製品に関わりたいならC言語を選びましょう。
詳細は、以下の記事で解説していますのであわせてご覧ください。
プログラミングの学習は、さまざまな教材を活用することで効率的に進められます。とはいえ、初めて勉強するときは「どんな教材を使えばいいの?」と悩んでしまうこともあるでしょう。
そこで、ここでは基礎からの学習におすすめなプログラミング教材を3種類紹介するとともに、それらを使った勉強法についても解説します。
出典:Progate
無料の学習サイトでは、実際にプログラミング言語を記述しながら勉強を進めることができます。特に未経験者の方は、環境構築が不要なサイトを選べば、プログラミングがまったく分からなくても気軽に学習をスタートできるメリットも。
また、サイトを利用するタイミングとしては、入門書やアプリなどでプログラミングの基礎知識をインプットした後がおすすめです。あらかじめプログラミングの概念や書き方を理解しておけば、言語を記述する際もスムーズに進めやすくなるでしょう。
学習サイトはスマホに対応している場合もありますが、基本的にはパソコンを使って学ぶサイトがほとんど。そのため、自宅である程度の学習時間を確保できる場合に活用するとよいでしょう。
◆ いちばんやさしいプログラミングの教本
■ 本の内容
プログラミング未経験の方が身につけておきたい、プログラミングとコンピュータの基礎知識が「いちばんやさしく」解説されている入門書。
プログラミングを学ぶ意義や本質、変数、条件分岐といった「すべての言語に共通する基礎知識」だけでなく、ハードウェアやインターネットの仕組みなど、現代を生きるすべての初学者が「はじめの一歩」を踏み出すために必要な知識が体系化されています。
初心者でも絶対に挫折しない、必ず基礎が身につく学習サンプルが掲載されているのもポイントです。
■ おすすめポイントと勉強法
プログラミングやコンピュータに関する知識など、ITに関する基礎知識をイチから勉強できるのが特徴。図解やイラストを用いた解説、オールカラー仕様など、初めて学習する場合でも理解しやすく挫折しにくい工夫がされています。
購入者限定特典としてPDF版の電子書籍がついてくるので、外出先やスキマ時間に読み進めながら学習するのがよいでしょう。
◆ プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業
■ 本の内容
世界中で2億人以上が夢中になった学び方ープログラミングの基礎知識や思考法、学習法などが解説されている入門書。
できるだけ効率よくプログラミングの基本を習得したい人や、プログラミングに興味はあるが、そもそもの「学び方」がよくわからない人、 社会人の一般教養として「プログラミングの基本」を身につけておきたい人が対象であるこの書籍には、「なぜ、世界中の成功者はプログラミングの基本を学んでいるのか?」「プログラミングの基本を最少の時間で確実に習得できる学び方とは?」について習得できる「世界最良の学習メソッド」が徹底紹介されています。
■ おすすめポイントと勉強法
プログラミングの基礎だけではなく、最短で基本を身につけるための学習法も紹介されているので「効率的に勉強したい」という人におすすめです。また、イチからプログラミングを学び「〇×ゲーム」を作る体験ができる点もメリット。
主に、プログラミング的思考の鍛え方や勉強法を重点的に学べる一冊となっているので、知識面などで不明な点が出てきた場合は、他の入門書や学習サイトなども活用して理解を深めるとよいでしょう。
「プログラミングとはそもそも何なのか?」という疑問から解決したい超初心者の方には、以下の本もおすすめです。著者のインタビューが掲載されているこちらの記事もぜひ参考にしてください。
Schoo(スクー): App Store/Google Play
アプリにはさまざまな種類があり、動画やテキスト形式で学ぶだけではなく、ゲームやパズルのように実際に手を動かして遊びながら学習できるアプリもあります。
また、プログラミングアプリを使った勉強法としては、移動時間や仕事・学校の休憩時間、就寝前などのスキマ時間を使って、少しずつ学習を進めていく方法がおすすめです。もしアプリで勉強していてわからない箇所が出てきたら、学習サイトや書籍などで知識を補完するとよいでしょう。
• 最初の一歩となるハードルを低めにする
• 毎日の目標とゴールを細かく設定する
• 参考書を読み続けるだけでなく手を動かす
• テキストの内容をそのまま丸暗記しない
• わからないことはすぐ調べる
詳細をプログラマカレッジ講師が解説します。
アドバイザー
プログラマカレッジ講師 風見 顕
元々IT業界での営業や人事として採用面接を行っていた経験から、プログラミングだけではなく、IT業界の話や面接のポイントについてもお伝えできればと思っています。私自身もゼロからプログラミングを学んだので、楽しいことも辛いことも含め同じ目線でサポートさせていただきます。
高すぎる目標を設定すると、なかなか目標にたどり着けずに挫折してしまう可能性が高まります。また、目標が遠すぎると進む方向が漠然としてしまい、自分が正しく努力しているかわかりにくくなります。
最初の一歩となるハードルを低く設定することで、挫折せず、着実に成長できる可能性が上がります。あれこれと色々な言語に一気に手を出さず、まずは言語をひとつ選び、プログラミングの楽しさに触れてみましょう。
▶ ゼロから始める未経験特化型プログラミングスクール【活学ITスクール】
明確な目標を設定せず、何となく手に職をつけようとだらだら勉強していても、楽しさは見出せません。「こんなプログラムをつくってみたい」「今までの経験を活かしたエンジニアになりたい」など、自分にできることや需要を加味したうえで目標を掲げることをおすすめします。
毎日の目標とゴールを細かく設定することで、達成感が得られやすく、挫折が起こりにくくなります。また、毎日目標を設定しながら学習することで、どれだけ進んだのかわかりやすい点もメリットです。
細かい目標を設定するためには、まずいつまでに何を達成するかという大きな目標を定めることが挫折しないためのコツです。
そしてそれを分割することで月単位、週単位、日単位の目標を決めると迷わずに目標を定めましょう。また、毎日学習のあとにその日の状況に応じて目標の見直しを行うと、ゴールと現状のずれがおきにくくなるので、達成感も得やすくなるでしょう。
勉強をするときには、参考書を読んで知識を頭に入れるというイメージを持っている方もいるでしょう。しかし、プログラミングを習得するためには、実際に手を動かしてみることが大切です。
また、参考書を読んでいるだけでは日々のモチベーションを保つことが難しくなる可能性も。そうならないためにも、参考書を読んでひとつ知識を得たら、すぐに手を動かして実際にプログラムを作ってみるようにしましょう。
すると、ただ本を読んでいるだけの時よりも格段に知識が定着しやすくなるので、ぜひ試してみてください。
ある程度学習を進めたら、サイトの模写にもチャレンジしてみましょう。
模写とは、実際に公開されているサイトを、そっくりそのまま作ってみることです。ソースコードなどを見ずに、公開されているのと同じようなサイトが作れるかチャレンジしてみてください。
詳しい手順や模写におすすめのサイトは、以下の記事で紹介していますので参考にしてください。
したがってプログラミングを学習するときには、言語をそのまま暗記するのではなく、「このコードはどのような動きをするのか?」という視点で考えるクセを付けましょう。
また既に別の言語を習得している場合には、「以前学習した言語とは、どのような点が違うのか?」といった特徴を覚えるようにすると応用力も身につきますので、ぜひ実際にプログラムを組み、その都度動き方をチェックしながらアウトプットすることも忘れずに勉強を進めていきましょう。
学習中にわからないことがあったら、すぐに調べるのもプログラミング上達のために重要です。
プログラムを組む時には、エラーが出て当然です。
エラーを修正しながら成長するものであり、経験豊富なエンジニアであっても、一度もエラーを出さずにプログラムを完成させることはほとんどありませんし、「頭の中で描いていたプログラムが思っていたとおりに動かない」というケースもよくあることです。
とはいえ、エラーが出た際に上手く対処できなければ、挫折の原因に直結する場合もあるでしょう。そんな時に大切なのは、決して諦めることなくトライアル・アンド・エラーを繰り返すこと。
プログラミングの学習中にぶつかるエラーは、ほとんどが検索すれば解決するものばかりです。わからないことをわからないままにしておいては、いつまでたってもスキルは伸びません。スキルを身につけるためには、調べて試行錯誤することも重要です。
わからないことを調べるスキルは、ITとは関係ない仕事の中でも役立ちます。ぜひ早めに習慣づけておきましょう。
プログラミングは独学でも習得可能ですが、途中で挫折してしまう方も多くいます。さまざまな学習方法を試してみたけれど、わからないことがあって学習が行き詰まってしまった、しっかり習得できているのかわからないという時には、ぜひスクールを利用してみてください。
スクールを利用すれば、講師のサポートを受けながら効率よく学習を進められます。孤独感を感じずに学習できるのも、プログラミングスクールのメリットです。
パソコンにはじめて触る高校生や、デスクワーク経験のないフリーターの方でも大丈夫。パソコンに関する基本知識から実務に対応できるITリテラシーまで、まったくの未経験からまるごとマスターできますよ。
以下のページで卒業生の声を紹介していますので、ご興味がある方はぜひご覧ください。
プログラミングとは、コンピューターに命令を出す、プログラムを書く作業のことです。家電や信号機、自動販売機など、身近なところでも使われています。
プログラミングを基礎から学習するなら、アプリや学習サイト、本などを利用するのがおすすめです。独学で習得するのが難しいと感じたら、スクールの利用も検討してください。
本記事を参考に、基礎からのプログラミング学習をスタートしてみてはいかがでしょうか。
INTERNOUS,inc. All rights reserved.