【初心者向け】プログラミング学習でつまづきやすい4つのポイント | プログラミング入門ならWEBCAMP NAVI
【3月枠も残りわずか】転職保証コース

【初心者向け】プログラミング学習でつまづきやすい4つのポイント

考える人

プログラミングを独学で学ぶと、誰もがつまずくポイントがたくさんあります。

そんな中、挫折してしまう人も多いのが実情です。プログラミングを始めたものの、今まさにわからない部分が多くて挫折しそう……。具体的なポイントポイントで悩む方も多いのではないでしょうか?

今回はそんな方に向けて、初心者の方がつまづきやすいポイントをまとめ、その対処方法をご紹介します。

プログラミングで挫折する人はとても多いです

小学生から社会人まで、年齢や性別を問わず多くの人々がプログラミングに興味を持ち、実際に独学ではじめる人も少なくないようです。しかし、日常生活で全く関わっていない人はいないと言えるほど私たちの生活に深く根付いているプログラミングですが、それを実際に行ってみると日常生活では使わない考え方に触れたり、聞いたことのない専門用語がたくさん出てきたりと、実は独学で習得するのが難しい技術なのです。特に独学ですと、慣れてしまえばどうということのないエラー文や専門的な概念を理解できなかったことが元で挫折したり、やっとの思いで完成させたプログラムをアウトプットする場所がなかったりして次第にやる気を失ったりと、挫折する人が非常に多いのが現状です。

この記事を読んでくださっているあなたも、プログラミングの学習方法について悩んでいらっしゃるのではないでしょうか。そんなあなたのために、プログラミングを独学で学ぶ上で躓きがちな点について解説をしていきます。一つ一つ丁寧に説明していきますので、きっとあなたの悩みも解決するはずです。

今回は「学習の進め方がわからない場合」「用語や概念の理解が難しい場合」「やる気が持続しない場合」の3つに分けて事例と対処方法を説明していますので、ご自分にあてはまる部分について読むのも良いですし、全て読んで今後挫折しそうになった時に対処できるようにするのも良いでしょう。

学習の進め方がわからない場合

はじめてのプログラミング言語、どれがいいのかわからない!

一口にプログラミングを始めたいと言っても、世の中には様々なプログラミング言語があります。そのため、どのプログラミング言語から始めればいいのかわからず、始める段階で立ち往生してしまう人も多いのが実情です。ここでは、目的別にはじめてのプログラミング言語としてふさわしい言語を紹介していきます。

コンピューターサイエンスを行いたい人のための初プログラミング言語

コンピューターサイエンスの研究を目的にプログラミングを勉強する時は、C言語がオススメです。コンピュターサイエンスの研究を続けていくと、アセンブラや機械語などの低級な言語を理解する必要も出てきますが、はじめてのプログラミング言語としてはC言語を選択しましょう。
C言語は高級な言語であり、コンピューターはC言語を直接理解することはできません。高級という表現は「人間にとって」であり機械にとってではないのです。高級な言語は世の中に数多く存在しますが、高級言語を使えるようになるだけではコンピューターサイエンスの研究はできません。ではなぜC言語から始めると良いかといえば、C言語はメジャーな高級言語の中でもっとも機械側のことを考えてプログラムを組む必要のある言語だからです。C言語は高級言語なので、シンタックス(文法)は英語に近いのですが、他の言語では自動で行ってしまうガベージコレクションやポインタについて自分で考えてプログラムを組まなければなりません。コンピュータのメモリや処理の順番、速度についていやでも考えなくてはならないので、コンピューターサイエンスの研究をしていく上で重要な知識が自然と身につきます。それでいて人間に理解しやすい文法で記述できるので、初めてのプログラミング言語としてうってつけです。また、歴史の長い言語なので書籍・インターネット問わず情報が豊富で、独学での入門者向けの書籍も多く出版されていますし、インターネット上のプログラミング質問サイトで質問をする時もすぐに答えが返ってくるでしょう。

機械学習やデータマイニングを行いたい人のための初プログラミング言語

テレビ、インターネット、新聞などの媒体を問わず、ディープラーニング、AIとなどの言葉がよく報道されるようになりました。AI ( 人工知能 ) の開発や、莫大なデータを活用した機械学習を自分で行ってみたいと勉強を始める人も非常に多くなっています。ディープラーニングを活用したAIの開発や、ディープラーニングをするためのデータマイニングをしたい人は、初めての言語に Python を選択すると良いでしょう。Python は機械学習やデータマイニングをする上で実際の現場でももっともよく使われている言語です。実際の現場でプロが使っている言語と同じ言語というと難しそうと思われるかもしれませんが身構える必要はあまりありません。Pythonは実行環境を整えるのも簡単ですし、シンタックス(文法)もかなり英語に近く理解しやすいです。イディオムもシンプルで覚えやすいですし一般的なものなので新しい言語を覚える時もスムーズに覚えることができるようになります。数年前までは、アメリカではよく使われている言語でありながら日本ではユースケースが少ないため、日本語での情報が少ないのが難点でしたが、近年の機械学習ブームによってそれもかなり改善しました。機械学習やデータマニングを行う上で、他にはR言語やC言語が使われることもありますが、どちらもPythonに比べて使い勝手が悪く、学習コストが高い上に、実際に現場で使われるのは多くの場合Pythonです。機械学習やデータマイニングを行いたい場合はPython意外を選ぶメリットはありませんので、迷わずにPythonを選択しましょう。

Webサービスの開発を行いたい人のための初プログラミング言語

Chrome や InternetExplorer、Safari などのブラウザ上で動くWebサービスを開発したい場合には JavaScript を最初に覚えるといいでしょう。JavaScript はブラウザ上で動く唯一の ( 厳密には唯一ではありませんが実質唯一なので気にしないでください ) 言語です。また、JavaScript は速やかに実行することができ、書いたプログラムがブラウザ上で動く様子をすぐに見ることができるので、初心者の方もとっつきやすいことが特徴でもあります。それでいて標準で使用できる機能がある程度限られているため、基礎的なアルゴリズムについて自分で考える能力も身につきます。Webサービスを作る上での学習が進んで、サーバーサイドのプログラムも書きたくなる時がくると思いますが、その時もNode.jsと言うエンジンを使用すればJavaScriptだけでフロントエンド ( ブラウザ上の画面 ) もバックエンド ( 裏側で動くサーバー側 ) も実装することができます。日本では、サーバーサイドの言語としてRuby、特にWebフレームワークに Ruby on Rails を使うことが非常に盛んですので、サーバーサイドに関してはこちらを学習することも有意義でしょう。Ruby は標準で多くの機能が揃っており、さらに Ruby on Rails と言うフレームワークを使えば簡単に小さなWebアプリケーションを実装することができます。このフレームワークに沿って開発を進めることで、初心者の方が陥りやすい罠にはまらずに開発を進めることもできるようになりますのでオススメです。

iPhone, Android で動くアプリを開発したい人のための初プログラミング言語

実際に手元に持っている iPhone や Android 端末で動くアプリを自分で作ってみたいという思いからプログラミングを始める方も多いと思います。そんな方は、 iPhone なら Swift, Android なら Java もしくは Kotlin と言う言語から学習を始めましょう。
iPhone は少し前まで Objective-C と言う言語で開発するのが主流でしたので、そちらの入門書の方が揃っているそうに感じるかもしれませんが、Apple も公式にSwift に移行する方針を固めており、今では全世界的に Swift が iOS の開発言語として主流となっています。今から学習を始めるなら、Swift 以外から始めるメリットはありません。
Android も、長く開発言語として主流であった Java から Kotlin に移行するのではないかという意見が多数派になっています。Google も Kotlin の正式サポートを決定し、少なくとも 「Android なら Java 一択」という時代は終わりました。しかし、全世界的に Kotlin に完全移行するかというと、そこは断点しきれません。Java は今現在もっとも使用人口の多い言語であり、対して Kotlin は新しい言語ですので、今後どうなるかはまだ様子を見る必要があります。したがって、今から学習する場合には基礎的な部分も含めて学習するために Java を選ぶか、最先端を学ぶために Kotlin を選ぶかで好きに考えて良いでしょう。

ゲーム開発を行いたい人のための初プログラミング言語

Web 系でないゲーム開発、つまりは据え置き機などインターネット接続を必要としないゲーム開発を行いたい場合はC言語から始めましょう。据え置き機のゲームなどの開発を行うプログラマーを「組み込み系エンジニア」と呼びますが、組み込み系でやっていくなら必ず覚えなくてはいけないのがC言語であるためです。C言語は機械側の都合を考えなくてはいけない場面が多く、初心者の方にはとっつきにくいとも言われますが、これさえ覚えれば他の言語であまり苦労することもないはずですので、広い目で見ても覚えておく価値の非常に高い言語です。

とにかくプログラミングをはじめてみたい人のための初プログラミング言語

中には特別に何かのためにプログラミングを学ぶのでなく、プログラミングを学ぶためにプログラミングを学び始めたという方もいらっしゃるかと思います。そんな方には Java という言語がオススメです。Java は世界で使用しているプログラマーの人口がもっとも多い言語として知られていて、プログラミングをする上でよく理解するひつようのある「オブジェクティブ思考」を学ぶのにも最適です。また、機械に理解させるための「コンパイル」という作業が必要なことから伺えるように比較的厳格な言語ですので、基礎的なことも身につきやすいとされます。一方で、C言語のようにコンピュータのことを常に気遣いながらプログラムを組む必要はないので、初心者でも比較的簡単に動かすことができます。作成することができるものも、組み込み系、Web系、Androidアプリと様々なので、多くのことに応用できるはずです。

独学で勉強し始める時は本?サイト?どれを参考にすればいいのかわからない!

プログラミングを独学で勉強し始める際、何を参考にしながら勉強を進めていけばいいのかわからない場合も多いでしょう。今ではインターネット上であまりお金をかけずにプログラミングの学習をすることができますが、やはり初めは書籍を購入したほうがいいのかもと思って書店に向かえば、おびただしい量の入門書に思わず目移り。迷った末に結局どれを購入すれば良いかわからず家に帰る。プログラミングの入門サイトも同じように非常に数が多いので、どこを参考にすればいいのか決めきれない。そんな人のために、独学での入門書・入門サイト選びについて説明をします。

書籍かサイトか

そもそも、書籍を購入した方がいいのか、インターネット上の情報だけで学習が可能なのかわからずに困っている方も多いかと思います。
結論からいえば、金銭的に余裕があるならば入門書を一冊購入し、ネットの情報と組み合わせて学習を進めるのが良いでしょう。どうしても金銭的に余裕がない場合は、無料で学習できるプログラミング学習サイトに沿って学習することも可能です。ただし、インターネット上でも満足のいく学習をするためには有料コースを選択する必要があったり、体系だった学習が困難で挫折のリスクが高かったりするのでできれば一冊入門書を購入しましょう。

入門書の選び方

いざ入門書を購入するとなると、あまりの種類の豊富さになかなか決められない方がほとんどかと思います。
まず、入門書を選ぶ前に、この記事の中の「はじめてのプログラミング言語、どれがいいのかわからない!」の項を参考に学習するプログラミング言語を選びましょう。
学習するプログラミング言語が決まったら、なるべく「最近に出版されていること」「サンプルコードの量が多いこと」を基準にして一冊購入しましょう。この二つの点さえ気にすれば、入門書選びで後悔することはないでしょう。もし説明が足りないと感じたり、逆に複雑すぎて理解が難しいと感じてもインターネット上の情報で簡単にカバーできますので安心してください・

入門サイトの選び方

どうしても本を買うお金がない、と言う場合は入門サイトを選ぶことになります。この場合、無料または低価格で利用できることが前提になると思います。この条件を満たすサイトは現状多くはありませんが、それでもそれなりの数存在します。選ぶときは、動画で解説を行っているサイトを選ぶと良いでしょう。有名なのは「ドットインストール」や「paiza」です。動画はありませんが、「Progate」というプログラミング学習サイトも要点をまとめた説明と練習問題で評判となっています。
参考となる情報がインターネット上のみだとどうしても学習の順序や躓きがちなポイントや重要なポイントなどが自分で把握することが困難で、学習を進めるのもスムーズでないケースが多いのですが、諦めずに自分なりのワードで検索し続けましょう。

わからないところが出てきたけど、聞ける人が周りにいない。どうすればいい?

これと決めた入門書や入門サイト。そこに記されていることに忠実に学習を進めていったとしても、どうしてもわからないところが出てくると思います。そんな時、独学だと質問できる人が周りにおらず、一人で悩み続けてしまうこともあるでしょう。ここでは、そんな時の解決方法について紹介します。

プログラミング質問サイトの活用

プログラミング専門の質問サイトがありますので、そちらに投稿してみたり、過去の投稿から同じことで困ってそれを解決したケースがないかどうか探してみましょう。英語が苦でなければ「StackOverFlow」という質問サイトが回答の質も良いので、ぜひここを利用しましょう。他には「terratail」という日本製のプログラミング質問サイトもありますので、そちらを活用してみるのも良いでしょう。

検索エンジンの活用

入門書やサイトにしたがってコードを書いているつもりでも、よくわからないエラー文が出てきて先に進めないということも多いでしょう。そんなときは Google などの検索エンジンにエラー文をコピー&ペーストして検索してしまうのがオススメです。そのエラー文の解決方法をスムーズに探すことができます。
その他にも、何かやりたいことがあるけれど入門書に書いていない!といったケースは自分なりの言葉で積極的に検索をしてみましょう。

ブログなどの活用

「Qiita」に代表されるプログラミング情報共有サイトや、「はてなブログ」などのブログからプログラミングの情報を得ることができます。このようなサイトを使ってプログラミングの学習を進めるにあたって困ったことや感動したこと、身につけたテクニックやエラーの解消の仕方などを自分から発信するのも成長の秘訣です。

まとめ

いかがでしたか?ごく小さなつまずきでも、初心者にとっては大きなつまづきに感じられてしまうこともあるので、きちんと対処方法を知ってスムーズに学習を進めて行ってください。

3月枠も残りわずか!!未経験からエンジニアを目指すならDMM WEBCAMP

DMM WEBCAMPは転職保証型のプログラミングスクールです。転職成功率は、98%!短期間で確実にスキルを身につけて、ひとりひとりに寄り添った転職サポートで、未経験からのエンジニア転職を叶えます!

「未経験だから不安…」、「転職できるんだろうか…」などの不安があると思います。そんな不安や心配を解消する、無料のカウンセリングを実施しています。

無理な勧誘や面倒な電話は一切ありませんので、お気軽にお越しください。

【無料】キャリア相談の日程を見る

転職保証付のDMM WEBCAMPで
安心してエンジニア転職を目指そう

「スキルがないし…」「失敗したくないし…」
カウンセラーがあなたのキャリアを真剣に考え、
ご相談に乗ります。