「システムエンジニアとかプログラマーっていいなぁ」
「スマホのアプリやゲームを作ってみたい!」
と想像はしてみるものの、「プログラミングってどうやって勉強するのがいいんだろう」「自分は文系出身だから無理だしな」「アルゴリズムって何?」って考えてしまいますよね。
そこで今回は何故プログラミングは難しいと感じてしまうのか、そしてどうやってプログラミングを始めればいいのかを解説します。
プログラミングは難しいという先入観を持っていた人が始めてみるキッカケになれば幸いです。
プログラミングが難しいと感じてしまう理由
プログラミングは難しいというイメージ(先入観)がある
「プログラミング」と聞いて、みなさんはどんなイメージをしますか?
多くの人は2〜3台のディスプレイがあって、「黒い画面に向かってアルファベットをカタカタ打ち込んでいく」「難しい数式を考えながらプログラムを組んでいく」といったイメージを持っているかもしれません。
高度で数学的な専門知識を持った人しかできないだろうと考えがちです。
しかし、実際はそうではないんですね。「難しい数式で組んだ一定の動作」が出来上がっていて、その動作を利用する。その動作を利用するための方法を覚えてコードを書く。といったイメージが正解に近いです。
※ちなみに「難しい数式で組んだ一定の動作」を作るのは本当に凄い人たちがやることです。
さらに、ITは常に進化し続けているので、若い頃から学習を重ねてきたベテランプログラマーでも、難しい課題に頭を抱えることはよくあります。
ベテランでも新人でも「学び続ける」というのは一緒ですね。
なのでプログラミングには知識や経験も必要ですが、最も大切なのはチャレンジしてみる気持ちです。そして継続していくことです。
まずはこれを心掛けていきましょう。
英語に苦手意識がある
これもイメージが先行してプログラミングを遠ざける一つの理由かもしれません。
確かにプログラミング言語は英語を使って書いていきます。英単語がわかれば、そこでどんな処理が動くのかなどわかる部分も多いので、英語を得意とする人は少し有利かもしれません。
しかし、英語はインターネットで調べればすぐに意味もわかりますし、プログラミングを学習していく間に覚えて自然と覚えていく英単語もあるでしょう。
最初から英語がわかる人に比べ時間がかかるかもしれませんが、よく使うワードを押さえておけば問題ない場合が多いです。
プログラミングの技術向上していけば補える点ですので、何事もチャレンジしてみる事が重要です。
どのプログラミング言語を学べばよいか分からない
プログラミングといっても、様々な言語があります。
有名なところだとJava、C#、PHP、Ruby、javascriptなどですが、「自分のやりたい事はどの言語を勉強したらできるのかわからない!」という方もいるでしょう。
そんな方のためにメジャーなプログラミング言語と目的の対応表を作りました。
参考にしてみて下さいね。
目的 | 言語 |
Webサービスを作りたい | HTML、CSS、JavaScript、RubyまたはPHP |
AI(人工知能)を作りたい | Python |
スマホアプリを作りたい | JavaまたはSwift |
企業向けソフトウェアを作りたい | Java |
ホームページを作りたい | HTML、CSS、JavaScript |
プログラミングするための環境構築が難しい
実際にプログラミングを勉強してみよう!と意気込んだものの、勉強をするためは自分のパソコンに開発環境を作る必要があります。
これがなかなかのクセ者。環境構築で挫折してしまう人が結構いらっしゃいます。
なので最初は環境構築が楽なものを選ぶとよいですよ。
Windowsをお使いの方は「XAMPP(ザンプ)」という環境構築ツールがおすすめです。XAMPPのインストール方法や使い方はテックアカデミーさんのブログが非常に参考になります。
以下にリンクを記載しておきますのでチェックしてみてくださいね。
今さら聞けない!XAMPPをインストールする方法【超初心者向け】
Macをお使いの方は「MAMP(マンプ)」がおすすめです。こちらもテックアカデミー さんのブログが参考になりますので、リンクを記載しておきますね。
不明なエラーが出て解消できない
ここからはちょっとやってみたことがある人向けの内容です。
プログラムに問題があるとそのプログラ厶が動かないことがあります。その際のエラー内容は英語や数字のコードで表示されることがほとんどです。
「何これ、意味が分からない。。」と拒否反応を起こす方も多いでしょう。いったんまずは表示されているエラー内容をコピペしてインターネットで検索してみましょう。
同じ悩みを持った人や、その解決策を提示してくれる人が掲示板などに書き込んでいる場合があります。プロのエンジニアも、困った時は検索してみるといった手段を取ることがよくあります。
まずは検索です。
基礎学習がだるい
プログラミング特有の記号の使い方(!や$など)が覚えられず「そんなの覚えるの面倒だよ。。」と思ってしまう事もあるでしょう。
これらの記号は一定のルールや法則が決まっていますが、難しいと考えてしまうことが多いです。
プログラムの基礎的な勉強では、簡単な計算式やループ処理などを学習します。仮に自分が作りたいものがWebアプリだったとすると、理想と現実にギャップがありすぎて、「今やってることって必要なことなの?」と不安に思うこともあるかもしれません。
しかしどのアプリケーションやシステムも、そういった細かな処理をいくつも組み合わせて動いています。
なので、一見覚える必要のないと思う基礎学習は、どれも1つのプログラムを作成するのに無くてはならないものです。
IT技術の発展スピードが速すぎる
今では当たり前になっているsnsやスマホのアプリ、ゲームなどは、IT技術の発展によってとても身近なものになりました。
最近だと人工知能(AI)や仮想通貨などで話題のブロックチェーンなどが流行りの技術で、ロボットによる自動化などは今後必須の技術になっていくでしょう。
そうしたIT社会の目まぐるしい変化により、「早すぎる、ついていけない。。」と諦めてしまう人もいるでしょう。
ここは個人ごとの判断になりますが、好奇心旺盛で新しいもの好きな人はWeb系企業が合っていると思います。Web系企業は新しい技術を積極的に取り入れていく傾向があるんですね。
流行りに乗らないとサービスが使われなくなるので、世の中の流れにどうしても着いていく必要があります。
逆に企業向けのシステムを提供しているシステムエンジニアの世界はなかなか新しい技術が使われません。これはリスク回避とコスト削減の圧力が強いからなんですが、1つの言語を深く長くやっていきたいという人はSE向きです。
企業は一度導入し終えたら5年〜10年は同じシステムを使います。その間にOSやソフトウェアのバージョンアップをする場合があるんですが、だいたい3ヶ月〜6ヶ月ほどのプロジェクトが組まれます。
内容は主にテスト環境でのテストですね。
何かあったら業務が止まってしまうので、企業向けシステムは新規性より安定性を求めるんですね。
なお、人工知能(AI)やブロックチェーンなど最新技術を学びたい方には、テックアカデミーというプログラミングスクールがおすすめです。
こういったジャンルに興味がある方は、ぜひチェックしてはいかがでしょうか。
>> オンラインプログラミングスクール受講者数No1 | TechAcademy
テックアカデミーで集中的に学習すれば、人工知能などの分野でサービスを作れるようになるかもしれませんよ。
難しくないプログラミングの学び方【3つ】
環境構築が不要な言語から学ぶ
「プログラミング用の環境構築で挫折する人がいる」と先ほど書きましたね。出来るできないに関わらず面倒であることは確かです。
そんな状況を回避するためには、環境構築が不要なプログラミング言語を最初に選ぶと良さそうですね。ここでは、そんなプログラミング言語を紹介したいと思います。
勉強に必要なものは以下の3つです。
- パソコン
- テキストエディタ
- 教材(書籍や動画)
HTML / CSS
どちらも名前は聞いたことがあるのではないでしょうか。
HTML(ハイパーテキスト マークアップ ランゲージ)はインターネットでWebページを閲覧する際、Webページの構造を定義するためのプログラミング言語(厳密にはマークアップ言語)です。
みなさんがWebブラウザで見ているホームページはHTMLという技術を使って表示しているんですね。
ページの構造を定義するもので、ここはヘッダーですよ。ここは文章ですよ。ここはリンクを貼りますよ。と言うように文章の構造を定義してあげます。
定義にはHTMLタグというタグを使います。
例えば、リンクを貼る場合は以下のようなタグで文章を囲みます。
HTMLの例
<a href=”https://XXXX.com/programming”>プログラミングスクール一覧へ</a>
HTMLが無いと、ホームページの構造がよく分からなくなり、これから下で説明するCSSを使うことができなくなります。その他、HTML構造がしっかりしているとSEO(検索で上位表示するための施策)で有利になります。
CSS
HTMLの見た目(色やデザイン)を設定するための言語がCSS(カスケーディング・スタイル・シート)です。
ページの構造をHTMLで作成し、ページの見た目をCSSで表現していきます。例えば、ホームページのメニューは文字が横並びになっていると思います。
「ホーム | 企業案内 | サービス案内」のようなメニューですね。
これはCSSで実現させているんですね。CSSが利用できないとこうした横並びも出来なくなります。
HTMLとCSSはメモ帳などで書いてもきちんとWebブラウザーで表示することが出来ます。プログラミングを始めるには一番取り組みやすい言語ですね。
教材はこの下で紹介する「Progate」か、以下の書籍がおすすめです。
JavaScript
こちらも、Webページを見ていると見かけることがあるかもしれません。
JavaScriptは「Java」と言う言葉が入っていますが、Javaとは別の言語です。主にWebページに動作を付けるために使います。
アニメーションであったり、クリックするとボタンが動いたり色が変わるなどですね。ホームページでは必ずと言っていいほど使われている言語です。
こちらのプログラミング言語もメモ帳などで作成することが出来ます。
HTMLとCSSとJavaScriptの役割をまとめると以下のようになります。
- HTML: 構造を決める
- CSS: 見た目を変える
- JavaScript: 動作を付ける
PHP
こちらは開発環境が必要な言語ですが、構築も簡単なため紹介しておきます。
PHPは動かすための環境が必要なので、メモ帳とWebブラウザだけでは実際の動きを確認することが出来ません。じゃあPHPをインストールしなきゃいけないの?と思ってしまいますが、もっと簡単な方法があります。
「レンタルサーバーを借りること」です。
PHPはECサイトやブログソフトによく使われている言語なんですね。ネットショップかブログの運営では必ずレンタルサーバーを借ります。
こんな背景もあり、現在はPHPがすでに入っている状態でレンタルサーバーを借りることができます。レンタルサーバーを使うことで環境構築を省略することができます。
PHPの勉強も「Progate」がおすすめです。しっかり学ぶには有料プランに入る必要がありますが、とはいえ月額1,628円です。勉強にちょうど良い金額といえるでしょう。
Webサービスで学ぶ
「書籍は読むのが大変だし、そもそもパソコンやりながら本を開いておくって行為がストレスなんだよな」「動画は眠くなるし。。」
こんな風に思ってる人は多いんじゃないでしょうか。ゲーム感覚でナビゲートしてくれる感じでプログラミングができたら楽しく進められると思います。
ここからはそんな問題を解決してくれるWebサービスを紹介します。Webサービスなので環境構築の必要もありません。
それでは見ていきましょう。
Progate(プロゲート)
プログラミングをゲーム感覚で学べる超人気のサイトです。
あのホリエモンも「初心者はまずはProgateをやってみて」と言っているほどのお墨付きのWebサービスですね。
HTML/CSS、JavaScript、PHPなどのWeb系のプログラミング言語を学ぶことができます。
無料で始められて、操作性も抜群なので初心者にはピッタリのWebサービスです。レッスンとテストを繰り返していくスタイルですが程よい難易度で飽きません。
自分の進捗をSNS(FacebookやTwitter)で共有することもできます。友人と共有することでモチベーション維持に繋がりますね。
しっかり学習したい方は有料版がオススメです。月額1,628円なので勉強にはちょうどいい金額でしょう。
PyQ(パイキュー)
今人気のプログラミング言語「Python」を学ぶことができるWebサービスです。
Pythonは機械学習や統計分析に強いプログラミング言語です。AI(人工知能)ならPythonとも言われていますね。
PyQのサービスはプログラミング初心者でも1から学べるように配慮された設計になっています。
学習サイクルは書き写し⇒解説⇒演習の繰り返し。読むだけでなく手を動かしながら覚えるため、プログラミングの感覚も早く身に付きますよ。
プログラミングスクールで学ぶ
独学でのプログラミング勉強方法を紹介してきました。
しかしながら独学にもデメリットがあります。
- 躓いたときに自分で解決しないといけない
- 勉強する手順が分からなくなることがある
- 途中で挫折する可能性が高い
特に問題なのが、躓いたときに自分で解決しないといけないこと。
独学だと分からないことを自分でネットで調べないといけません。
ですが初心者ですと「分からないことが何なのかも分からない!」という状態になりがちで、調べるのも難しいんですよね。
また、言語によっては調べても情報が中々出てこない場合もあります。
「プログラミングは難しい、独学ではダメだった。でもやっぱり覚えたい。」という方はプログラミングスクールがおすすめです。
プログラミングスクールのメリットはだいたい以下の3つに集約されます。
- 体系化されたカリキュラムで分かりやすい
- 講師に質問し放題
- 転職などのキャリア相談ができる
初心者の方は「体系化されたカリキュラムで分かりやすい」「講師に質問し放題」にメリットを感じるでしょう。ただ、料金はそれなりにします。
本気で覚えたい、転職してITエンジニアになりたい人にオススメの手段です。
特に初心者におすすめのスクールは以下の2つ。
また、以下のページに他にもおすすめのプログラミングスクールを紹介しています。
TechAcademy
テックアカデミーは完全オンラインのプログラミングスクールです。
専属のメンターが週2のビデオチャットで学習をサポートしてくれます。メンターは現役のエンジニア。現場のノウハウを知っているプロから学ぶことができます。
選べるコースはなんと29コース。言語やITスキルごとにコースが分かれています。ご自身が学びたいプログラミング言語、スキルが必ず見つかるでしょう。
7日間の無料体験では実際のサービス(メンターへの質問など)をフルで利用することができます。
メンター付きでWebアプリを完成させることもできます。「プログラミングってどんな感じ?」と思っている人は無料体験に参加してみましょう。
\ 料金詳細や無料体験の予約はコチラ /
公式サイトへ
※ TechAcademyの公式サイトに遷移します。
ヒューマンアカデミー プログラミング講座
ヒューマンアカデミーは全国で29校展開している大手スクールです。
プログラミング学習から転職支援までをリーズナブルな料金体系で提供しています。
プログラミング講座は個人の目的に沿ったオリジナルカリキュラム。最短で目的達成するための最適な学習計画を立ててくれます。
オンライン&通学の併用もOKです。全国29校舎あります。併用を希望する人はまずは近くに教室があるかチェックしてみましょう。
\ 無料説明会の予約はコチラ /
公式サイトへ
※ ヒューマンアカデミーの公式サイトに遷移します。
TECH CAMP(テックキャンプ )
TECH CAMPもおすすめしたいプログラミングスクールの1つです。
TECH::CAMPはいくつかのコースが用意されています。
入会金217,800円と月額21,780円でなんと全コース受け放題。受講中は全てのコースの教材を閲覧可能なので、学びたいことを自由に学べる点がメリット。
色んなプログラミング言語や技術を学びたい人におすすめのプログラミングスクールです。
AIなど最新スキルを学べるコースもありますよ。コースで使う教材は、初心者の方にわかりやすいものとなっています。
教材は何度もアップデートされているため、常に最近の技術を学ぶことが可能です。
TECH CAMPは教室に通って勉強もできますが、オンラインでも勉強できます。
自宅で自学自習し、わからないことであればすぐに先生にチャットで質問ができますよ!
\ 料金詳細や無料体験の予約はコチラ /
公式サイトへ
※ Tech Campの公式サイトに遷移します。
【インタビュー記事】
-
テックキャンプ プログラミング教養の評判・中身を受講者に全部聞きました
目次1 TECH CAMP(テックキャンプ )の評判・カリキュラムを実際の受講者にインタビューしました1.1 TECH CAMP(テックキャンプ)を受講したY.Iさんのプロフィール2 受講者にインタビ …
プログラミング学習で気をつけたいこと
プログラミングの勉強で気をつけたいことを挙げます。
プログラミングの学習は正しい手順で行うことで、習得することが可能です。
回り道をしないためにも、しっかりと基本を抑えましょう。
プログラミング学習の目的を明確にする
プログラミングの学習の目的を明確化しましょう。
一口にプログラミングといっても、様々な種類があります。
webページを作るものだったり、スマホアプリを作るものだったり。
自分が何を作りたいのかを明確にすれば、学習のモチベーションも上がっていきます。
プログラミングスクールに通う場合も、先生にプログラミングを学ぶ目的を説明すれば、適したカリキュラムを教えてくれます。
プログラミング学習を習慣化しよう
プログラミングの学習は、ぜひ習慣化させることを目指しましょう。
毎月30分でもいいので、継続していくことが肝心です。
プログラミングは期間が空いてしまうと、感覚を取り戻すのに時間がかかることもあります。
また、学習を習慣化させることで、モチベーションも低下しにくくなるのです。
どうしても継続できないという場合は、オフライン型のプログラミングスクールがおすすめ。
オフライン型だと、他の人と一緒に勉強することができます。
一緒に切磋琢磨する仲間がいれば、モチベーションをアップさせることが可能ですね。
効率的なプログラミング学習方法
プログラミングが難しいと感じないためには、効率的に学習していくことが肝心。
ここでは高陸的なプログラミング学習方法を解説します。
なるべく早くプログラミングを習得して、就職で役立たてるようになると良いですよね。
学習プランを組み立てる
プログラミング言語は1つ覚えるのに、何ヶ月かかかるもの。
という訳で1週間ごとに学習プランを組み立てていきましょう。
「今週は文法の基礎をマスターする」など具体的な目標を立てることで、勉強が効率化されていきます。
また、学習した内容はできるだけ細かく記録していきましょう。
その際、自分がどの分野の学習にどれだけ時間がかかったのかを書くのが肝心です。
時間がかかった分野は後で復習するようにすれば、効率的に勉強できます。
検索のコツを覚える
プログラミングの勉強で分からないことがあれば、グーグルで検索して調べていくことになります。
ですが、技術系のことに関しては、検索しても答えが中々出てこないことも。
特にプログラミングの場合、英語の情報ばかり出てくることが良くあるんですよね。
ほかにも、出てきた情報が古くて役に立たなかったりすることもあります。
グーグルの場合、「1年以内に更新した記事」のみに絞り込み検索したり、日本語の情報のみを抽出したりすることが可能です。
こういった検索のコツを覚えることで、プログラミングの勉強効率が上がります。
メモをうまく使う
プログラミングで分からないことがあって調べた結果は、メモしていくようにしましょう。
メモしておかないと、同じような問題にぶつかったときに、また調べる必要が出てきます。
メモをうまく使うことで、調べる時間を短縮することが可能ですよ。
分からないことは質問していく
分からないことは、先生に質問してできるだけ早く解決していきましょう。
分からないことを放置していくと、プログラミングはどんどん分からないことが積み重なってしまうものです。
ネットの質問サイトを活用するのも良いですが、やはりプログラミングスクールに通うのが近道です。
プログラミングスクールなら不明点をオンラインチャットを通して質問することができます。
また、以下のページに他にもおすすめのプログラミングスクールを紹介しています。こちらもぜひごらんください。
まとめ
プログラミングが難しいと感じる理由とその対策を説明しました。
プログラミングの継続には目標が必要です。「いや、就職・転職で有利みたいだから」では続かないと思います。ITエンジニアに転職したい、フリーランスになりたい、とにかく1つサービスを作るなどの目標を作ってから学ぶことをオススメします。
目標を達成したい願望が強ければ「難しい」と感じても継続できそうですよね。逆に継続出来なかったら徒労に終わってしまいます。
プログラミングで何がしたいのか、勉強する前にちょっと考えてみましょう。
「やっぱりプログラミングは難しい!」と感じる場合は、プログラミングスクールに入会するのがおすすめ。
分からないことはいつでも質問できる環境はやはり魅力的です。
プログラミングスクールなら、途中で躓くことなくプログラミング学習を継続できます。
>> TechAcademyの無料体験はコチラ | 公式サイトへ