プログラミング初心者は何から学べばいい?
-
まったくの未経験者や初心者がプログラミングの勉強を始めようと思っても「何から学べば良いのかわからない…」と悩んでしまう方も多いのではないでしょうか?そこで本記事では、プログラミング学習を始める8つのステップを段階を追って解説。自分に合ったプログラミング言語の選び方や学習の途中で挫折しないためのコツについても解説します。これからプログラマーを目指す第一歩を踏み出したい方は、ぜひご覧ください。
そもそも初心者が独学でプログラミングを始められるの?
プログラミングを学び始めようと思ってはみたものの、何から始めればいいのかわからないと悩む初心者や未経験者の方も多いのではないでしょうか。 最近では、プログラミングを学べる無料の学習サイトやプロの現役エンジニアがレクチャーするYouTube動画などの教材が身近に増えたことも理由のひとつ。 そのため、小学生の子供からお年寄りまで、あらゆる年代のIT未経験者たちが手軽にプログラミング学習を始められるようになりました。
【はじめに】プログラミングを学び始める前に
1. プログラミングを学ぶ目的を決める
まずは、プログラミングを学ぶ目的を決めましょう。プログラミングを習得することは目的ではなく、何かを達成するための手段でしかありません。例えば、エンジニアになるために学習をしたい、アプリを作ってみたいなど、なんのためにプログラミングを学習するのか考えてみてください。目標を持たずにただなんとなくプログラミングの学習を始めると、挫折する可能性が高くなってしまいます。また、目的によって学習すべき言語や学習の方向性に違いが出ることがあります。例えば、アプリを作ることが目的であれば、覚えたことを使ってアプリの開発を進めるのが良いですし、就職のために学習したいのであれば、資格取得もひとつの方法です。また目的を決めずに学習を始めると効率も悪くなり、ゴールに至るまでが遠回りな学習になってしまう可能性もあるでしょう。
2. どんな言語を学んで何を作りたいのかを明確にする
プログラミングを学ぶ目的が決まったら、「何を作りたいのか」や「どんな言語を学ぶか」についても検討しましょう。たとえば「Webサービスを作りたい」と思っているのであれば、HTML/CSSやJava、PHPなどの言語を選ぶと良いでしょう。 プログラミングで作れるものと主な使用言語は、以下のとおりです。
- 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など
【Q&A】プログラミング言語の選び方をプロに聞いてみよう
とは言うものの、どの言語が自分にマッチしているかを見極めるとなると悩んでしまいますよね。そんなみなさんのために、弊社に在籍するIT業界専門のキャリアアドバイザーにプログラミング言語の選び方について聞いてみました。
●未経験からの転職におすすめのプログラミング言語は?
Q.未経験からのエンジニア転職に有利となる「おすすめのプログラミング言語」とは?
Javaと、次いでPHPです。Javaは特に需要と汎用性が高く、未経験者向けの求人数も多いことが主な理由で、PHPは全世界のWeb系の70%で使用されているのがおすすめな理由です。
Q.では逆に、転職を目指す未経験者におすすめできない言語は?
反対に、RubyやPythonはあまりおすすめできません。なぜなら求人数が限られていて、更にこの言語を必要とする会社の場合、採用ハードルが高い傾向にあるからです。またRubyを求めているのは勢いのあるWebベンチャー、Pythonを求めているのは、数学もできるAI開発集団のようなイメージなので、未経験からエンジニア転職を目指すのならJavaとPHPをマスターしておけば間違いないでしょう。
●自分の目的に合った言語は、どうやって見つければいいの?
Q.さいごに、自分に合った言語の見つけ方を教えてください!
1.エンジニアとして就職したい→トレンドより市場でシェアの大きい言語を学ぶと良い(Java、PHP等) 2.とりあえずプログラミングを学びたい→比較的簡単な言語から学ぶと良い(Ruby等) 3.趣味でHPやブログページを作ってみたい→HTML・CSS等がおすすめ という様に、「プログラミングを学んでどうなりたいか?」というゴールを明確にした上で、目的に合った言語の習得に励むのがベストな方法です。 これから転職や就職を目標にしている方は、他の候補者との差を付けるため、基本情報技術者試験やJava silverなどの資格取得もしておくと、就活でも有利に選考が進むでしょう。
そもそも初心者が独学でプログラミングを始められるの?
目的の言語が決まったら、さっそくプログラミング学習の始めていきましょう。続いては、プログラミング学習をスタートするにあたって準備すべきものを3つ紹介します。
●プログラミングを行うためのパソコンを用意する
まずは、プログラミングをするためのパソコンを用意しましょう。プログラミングスクールに通うことを検討している方や、勉強会やセミナーに参加する予定の方、また集中して勉強するためにコワーキングスペースの活用を考えているのであれば、ノートパソコンが便利です。新しいパソコンを用意する場合は、次の4つの項目に留意して選ぶと良いでしょう。
■ CPU- プログラミング学習をスムーズに進めるなら、Core i5以上のCPUを選ぶとストレスを感じにくいでしょう。CPUはCore i3→Core i5→Core i7の順で、処理スピードが早くなります。ただし、性能の良いCPUが搭載されているパソコンほど高価になる傾向があるため、予算とのバランスも考えて決めると良いでしょう。
- ストレージはHDDとSSDの2種類があります。HDDは記憶容量が大きく価格が安いといったメリットがありますが、PCの起動速度が早いだけでなく作動音も静かで、また消費電力も低いため発熱も少なく、衝撃にも強いSSDがおすすめです。
- メモリは最低でも8GB以上のものを選びましょう。余裕があれば16GB以上をおすすめしますが、もし迷う場合には後から増設できるタイプのPCを選んでおくと、後から動作に不満を感じた時にメモリを追加することが可能です。
- OSはMacかWindowsのどちらかを選びましょう。Macは、同じApple社が開発したSwiftとの相性が良いため、iOSアプリを開発したいならMacがおすすめです。また、Linuxをベースとして作られたOSであるため、慣れておくと将来業務で役立つ可能性もあります。しかし、Windows専用のアプリとは相性が悪い点がデメリットです。一方、Windowsのパソコンは生産販売する企業が多く量産されているため、Macと比べて低価格で入手できるメリットも。また世界でも圧倒的なシェアを誇るためOSの情報やフリーソフトが手に入りやすい点がメリットです。当然ながら、Windowsアプリの開発にも向いていますが、iOSアプリの開発が難しい点がデメリットと言えるでしょう。
●接続が安定したインターネット環境を整える
プログラミング学習のための回線は、光回線またはモバイルルーターを用意しましょう。光回線は接続が安定しやすく、高速な通信が可能です。大容量データのやり取りに最適なだけでなく月額料金が固定で利用し放題なので、データ通信量を気にせず使いたい人や、家族とシェアして使いたい人は光回線を選びましょう。モバイルルーターは、工事が不要で手軽に使えるのがメリット。賃宅住宅にお住まいの方や回線費用を抑えたい人、また外出先でも手軽に使いたい人にはモバイルルーターがおすすめです。
●プログラミングを実行するための環境を構築する
プログラミングを行うには、各言語の実行環境やコンパイラをインストールする必要があります。とはいえ、慣れていないと環境構築に時間がかかってしまい、なかなか言語の勉強を始めることができなくなってしまうことも。さらに自分のPCの環境とチュートリアルサイトや書籍の環境が異なると、書かれている通りにセットアップを行っても環境構築ができず、言語が実行できないケースもあります。もし環境構築がどうしてもうまくいかない場合は、クラウドソーシングサイトなどを利用して有償でエンジニアにサポートしてもらうという方法も選択肢のひとつです。また、クラウド上の実行環境を使うというのもひとつのやり方です。例えば「PaizaCloud」のように、最近はWebサイト上でソースコードを入力して実行できるサービスがいくつも登場しています。したがって、お試しで簡単にトライしてみたいと考えている初心者の方は、Webブラウザを使ってチャレンジしてみても良いですし、環境構築が不要な無料のプログラミング学習サイトを活用するのもおすすめです。
【何から勉強するのがベスト?】プログラミングの学び方
プログラミング学習のための回線は、光回線またはモバイルルーターを用意しましょう。光回線は接続が安定しやすく、高速な通信が可能です。大容量データのやり取りに最適なだけでなく月額料金が固定で利用し放題なので、データ通信量を気にせず使いたい人や、家族とシェアして使いたい人は光回線を選びましょう。モバイルルーターは、工事が不要で手軽に使えるのがメリット。賃宅住宅にお住まいの方や回線費用を抑えたい人、また外出先でも手軽に使いたい人にはモバイルルーターがおすすめです。
●はじめての人はHTML&CSSを学んでみよう
はじめてプログラミングに触れる人は、HTMLとCSSを学ぶのがおすすめです。HTMLとは、Webページを作成するための言語。HTMLでマークアップすることで、そこに書いてある文章が見出し、段落、タイトルのどれに該当するのかをコンピューターに伝えることができます。また、文字の大きさや色を変えるなどの簡単なレイアウトも可能です。CSSは、HTMLで書かれたファイルをブラウザでどのように表示するか設定するための言語で、別名「スタイルシート」とも呼ばれます。見出しデザインやフォント、画像など、HTMLより複雑なレイアウトを作ることができ、Webページのデザインやレイアウトといった「見た目」を作るのが主な役割です。またHTMLやCSSは、書いてすぐにブラウザ上で確認できるためビギナーの方でも挑戦しやすく、最初に習得しておくと作成したオリジナルアプリをWeb上で公開する際にも役立つでしょう。
●選んだ言語の基本文法をマスターしよう
プログラミングでは、言語ごとに異なる文法や特徴があります。何をどのように書くとどういう動きをするのか、学習サイトや書籍などを読みながら実際に手を動かして学習しましょう。また、慣れてきたらフレームワークを学んでみるのもおすすめです。フレームワークとは、アプリなどを開発する際の土台として機能させるソフトウェアのこと。言わば、システム開発を楽に行うプログラムの「ひな形」です。アプリを開発する際には自由にプログラムを組むこともできますが、あまりにも自由すぎると特に初心者の場合はどのように進めて良いのかわからなくなってしまうことも。そんなとき、フレームワークを活用すると、あらかじめ必要な機能が備わっているので、オリジナルの要素を組み込むだけで完成するためスムーズに開発を進められるでしょう。また模写コーディングは、プログラミングを始めたばかりの人にも効果的な学習方法です。詳細は以下の記事を参考にしてみましょう。
●オリジナルのサービスを作ってみよう
ある程度学習が進んだら、Webサイトやアプリなどオリジナルのサービスを作ってみましょう。初心者の場合、最初から1人で全て作るのは難しいので、まずはサンプルアプリをコーディングし、動かしながらカスタマイズするのがおすすめです。もし今後プログラマーとして働きたいのであれば、よくある機能をただ作るだけでなく、オリジナリティのあるサービスを提供するところまで実践できるとベターです。自分自身のサービスについてユーザー目線で客観的に考え、なおかつサービスを改善するという経験は、就職活動の際にも大きなアピールポイントとなるでしょう。