プログラミング言語決定からアプリ開発まで徹底網羅した勉強法まとめ

prog-apuri
侍エンジニア塾ブログ編集部
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!侍ブログ編集部(@samuraijuku)です。

プログラミング学習を始める動機はそれぞれですが、「作りたいものがある」という理由の方は多かったりします。

逆に、「作りたいものはあんまりイメージできないけどプログラミング学習はしたい!」という方もいますよね。

プログラミング学習や言語選びをする際は、作りたいものから決めるのがおすすめです。

理由としては、作りたいのものから選んで学習し始めることによって、無駄が少なくて、モチベーションを保ちながら進められるからです。

ただ、世界にはプログラミング言語がなんと200種類以上もあると言われているので迷ってしまいますよね。

そこで今回は、実際によく使われている人気言語とその勉強法を「作りたいもの」にわけてそれぞれご紹介します!

これに目を通せば、作りたいのものがある方は迷わず言語選びができますし、イメージがわかない方もアイデアの参考になるでしょう。

独学に少しでも限界を感じている場合には『プログラミングスクールに通うこと』も視野に入れると必要な時期にスクールに通うことができます。

まずは以下の記事を覗いて『全国にどんなプログラミングスクールがあるのか』見てみるのもいいでしょう。

また、合わせて『プログラミングスクール3大あるある失敗例』を覗いてみるのもオススメです!

プログラミング言語は目的に沿って決める

目的設定のコツ

「作りたいものから決めること」が言語決定に役立つという話を早速しましたが、作りたいものをイメージするためにはまず、プログラミング言語を学ぶ目的を明確にすることが大切です。

「目的を明確にしろと言われても簡単に目的を見つけることが難しいわ!」

とツッコミが飛んできそうですが、多くの方は目的が大きく3つに分かれます。

  • 仕事の幅や安定性、年収を高めるため
  • 何か作りたい、またはビジネスのため
  • 自由なライフスタイルやワークスタイルを実現するため

自分が惹かれるものがこの3つの中に少なくともあるはずです。

まずはこの3つから一番しっくりくるものを1つ選び、深く掘り下げていく作業をしていくといいでしょう。

自分の目的を明確する方法

先ほどの多くの人の主な3つの目的の中から1つ選び出せましたでしょうか?

選び出せれば、あとはその大きな目的を深く掘り下げていく作業をする必要があるためその方法を解説していきます。

深く掘り下げる時に使う言葉は「なぜ?」です。

例えば大きな目的が「仕事の幅や安定性、年収を高めるため」だったとします。

この場合「仕事の幅や安定性、年収を高めるためなのはなぜ?」と自分に問うことをしてみましょう。

そうすると「豊かな生活を送るため」「お金で苦労しないため」などいろいろな自分の思考が浮き彫りになってきます。

この時、結果的に「自分はなぜお金を欲しているのか?」が分かれば明確な目的が手の中にあると思って間違いありません。

このように大きなくくりの目的を決めて深堀りすることで、自分が本当に手にしたいものが分かり、結果的に明確な目的を決めることができるようになります。

どの言語にも共通するプログラミング学習のコツ

覚えないこと

学習と聞くと日本人は特に覚えようとしてしまいがちです。

確かに暗記も最低限必要なのは間違いないのですが、覚えることはかなり頭を使う行為です。

人間の頭は実は覚えるようにできていないとも言われており、賢く学習するためには「理解し把握することに徹すること」が必要です。

次に「理解・把握すること」がどういうことなのか解説していきます。

理解・把握に徹すること

プログラミング学習で理解・把握がなぜ必要なのか?という点で解説していきます。

そこで考えて欲しいのが、プロのプログラマーの方が「プログラミングの文法を全て暗記しているのか?」ということです。

実はこれはNOで、プロのプログラマーであってもWebで検索しながらプログラミングを行っています。

では「未経験もプロも関係ないのでは?」と思う方もいるかもしれませんが、実際にプロと未経験では雲泥の差が生まれているはずです。

その差が「理解」「把握」です。

検索する際も何が必要なのか分からなければ検索の仕方がわかりません。

つまり検索の仕方が分からなければ、アプリ開発はできないのです。

プログラミングで学ぶべきは、「どのパーツ(文法)でどんなことができるのか?」を理解して把握しておくことに尽きるのです。

発信すること

プログラミング学習は時に孤独を極めます。

それでもひたすらパソコンに向かう日々を過ごすことになるかもしれませんが、インプットばかりではモチベーションとともに学習効率が悪いと言えます。

ではどんな工夫をしながら学習している人がいるのかというと・・・学習者で成功している人は、ブログやSNSで得た知識を発信してアウトプットの量を増やしていることが分かりました。

おすすめはQiitaに書き込んだり、はてなブログで学習内容をまとめたりすることです。

最初は書き込みすることに抵抗があるかもしれません。ですが、こういった積み重ねを習慣化することがどれだけ強力かやって確かめて欲しいなと思います。

かの有名なドラッガーもこんな名言を残しています。

成果をあげる人とあげない人の差は才能ではない。いくつかの習慣的な姿勢と、基礎的な方法を身につけているかどうかの問題である

まさにこれにつきますね!成果をあげる人になるために日々の1の積み重ねをぜひしてもらいたいと思います!!

WEBアプリを作りたい人

shutterstock_377667442

「WEBアプリ」の最大の魅力はインターネットさえあれば気軽にどこでも利用ができることです。

GoogleやYahooなどの検索エンジンをはじめ、Twitter、FacebookなどのSNSサービス、ネットショップやネットオークション、Youtubeやニコニコ動画などの動画サービスもすべてWEBアプリです。

その中でもいくつかの種類に分けることができますので、それぞれでよく使われている言語を見ていきましょう。

業務システムなら「Java」

Manchester-Java-Community

「業務システム」とは、企業において、毎日行う作業を自動化したり、手間のかかる仕事を効率よく行うために作られるアプリケーションです。

効率よく仕事をできるようにすることで、費用の削減や売り上げの上昇が見込めるので、IT市場でも需要が高く中心となっているアプリケーションです。

「Java」は、業務系システムや大規模なシステムで一番使われています。

企業が導入することがほとんどなので、費用が安く、安定して動き続けることが重視されます。

Javaは、「これがしたい」と思った複雑な処理を簡単に実装することができますし、JVMという仮想環境で動いているので、何かコードが原因でトラブルが起こった場合でも他の部分に影響を与えづらいです。

比較的動作が早く、長く使いつづけられるという特徴を持っているので業務システムでよく利用されています。

Javaについての詳しい説明はこちらからもどうぞ。

またJavaの勉強法についてはこちらの記事をご用意しております。

WEBサービスなら「Ruby」

rubytemplate

「WEBサービス」とは、インターネット上で利用できるアプリケーションのことです。

日常でもよく目にするアプリケーションで、有名なサービスでは「Amazon」や「ぐるなび」などがあります。

企業だけでなく個人でも世界中の人たちにサービスを提供できることが魅力です。

「Ruby」の最大の魅力は、新しいWEBサービスを短期間で立ち上げ、継続的な機能改善や追加などができるところです。

新しいWEBサービスの初期は顧客も少なく、ある程度の規模まで大きくすることはすごく大変なことです。

ですが、生産性の高い「Ruby on Rails」というフレームワークを使うことにより、作りたいモノをゼロから簡単に作れて、顧客の要望や市場の動きに合わせて臨機応変に対応ができるため多くのスタートアップ企業でも採用されています。

また、最近では生産性が高いことを理由にWEBサービスだけではなく、社内のシステムや業務システムに採用する企業も増えてきています。

Rubyについての詳しい説明はこちらからもどうぞ。

またRubyの勉強法についてはこちらの記事をご用意しました。

ECサイトなら「PHP」

PHP_Logo

「PHP」の最大の特徴は商用利用のWEBサービスを簡単に作成ができることです。

PHPでできている「WordPress」というシステムを使うことで、ホームページやブログなどを作成することがものすごく簡単にできます。

ただ作成するだけではなく、ショッピングカートや問い合わせフォーム、SNSとの連携など商用としての利用に向いています。

実はあの有名なWikipediaやぐるなびもWordpressで作られているのです。

またEC-Cube、EC-cartなどのインターネット決済サービスもPHPで作られています。

ネットショップを開きたい方や、世界に向けて商売をしたい方にはおすすめです。

PHPについての詳しい説明はこちらからもどうぞ。

またPHPの勉強法についてはこちらをご覧ください。

最先端アプリなら「Python」

python

「Python」で作られたアプリケーションはあまりイメージが沸かないかもしれません。

しかし、Pythonは裏側でものすごい力を発揮しています。

ビジネスから教育、ゲームに至るまでいろんなところで利用されおり、人工知能、統計分析、科学技術計算など数学を使う難しい処理も簡単にできるため、専門分野でも活躍しています。

大量のデータを簡単に扱ったりできるため、クラウドサービスで有名なDropBoxがPythonを採用しています。

ビッグデータや人工知能などの今最も注目されている技術を身につけたい人はPythonがおすすめです。

Pythonについての詳しい説明はこちらからもどうぞ。

またPythonの勉強法についてはこちらをご覧ください。

スマホアプリ・ゲームを作りたい人

shutterstock_302730485

スマートフォンは普段の生活に欠かせない必需品となりました。

「スマホアプリ」の特徴はどこでも手軽に使えて、あなたの生活を便利にすることです。

電話アプリやGPSを使った地図アプリをはじめ、LINEやFacebookなどのSNS、電卓や家計簿などの生活ツールに至るまで、いつでも気軽に使える便利なアプリがたくさんありますね。

「ゲーム」もスマホで楽しめるものから、実際のハードで楽しむものまで幅広くありますよね。

そんな便利なスマホアプリやゲームを作れてしまう言語を見てきましょう!

iOSアプリなら「Swift」

appleswift

iPhoneやiPadのアプリを作りたいなら「Swift」を学習すると良いでしょう。

Apple製品はもともと「Objective-C」というプログラミング言語で作られていましたが、2014年から「Swift」という新しい言語で作られるようになりました。

簡単に書くことができて動作も高速になっているので、今から作るならSwiftを覚えた方がいいでしょう。

Macのアプリも作ることができるので、Apple製品をすべてあなたのアプリで染めることもできてしまいます!

Swiftについての詳しい説明はこちらからもどうぞ。

またSwiftの勉強法についてはこちらをご覧ください。

Androidアプリなら「Java」

Manchester-Java-Community

Androidのアプリを作りたいなら「Java」がおすすめです。

Javaは、業務システムのところでも出てきましたが、システムだけではなくAndroidのアプリやPCのソフトなども作れる汎用性の高い言語です。

Androidアプリは、汎用性の高いJavaのおかげで、細かな部分まで幅広く自由にプログラミングすることができます。

簡単に作ったアプリを配信することもできるので手軽に作ることができます。

Androidアプリについての詳しい説明はこちらからもどうぞ。

3Dゲームなら「Unity(C#)」

cs

最近のゲームってものすごくクオリティが高いですよね!

絵やキャラクターなどもすごく綺麗で、ついついハマってしまいます。

そんなすごいゲームは「C#」というプログラミング言語で動いています。

それを簡単に作れるようにしたものが「Unity」というゲーム開発環境です。

WindowsやMac、スマーフォンなどの様々な機器のゲームを作ることができます。

さらに今は、オンラインゲームやスマホのゲームアプリが大人気なので、仕事もたくさんあります!

Unityについての詳しい説明はこちらからもどうぞ。

Unityを効率的に学習するための学習サイトを以下にまとめました。

簡単なWEBサイト・ページやゲームを作りたい人

shutterstock_122664076

WEBサイトなら「HTML」

html5

「HTML」は、普段私たちが一番よく目にしている言語です。

今あなたが見ているWEBの画面もHTMLで作られています。

WEB上の画面を作る言語と思われていますが、実はそれだけではありません。

簡単なものであればWEBアプリも作れますし、スマホアプリに組み込んだりすることやゲームを作ることも可能ですので、先ほどご紹介したすべてのことができてしまうのです。

どのアプリを作る場合でもWEBの標準の知識をそのまま使えるので、新しく言語を覚える必要がない万能型です。

学びやすいので、初心者の方はまずHTMLから学習してみることがおすすめです。

HTMLについての詳しい説明はこちらからもどうぞ。

HTMLについては以下の記事にまとめた学習サイトがおすすめです。

WEBページやゲームなら「JavaScript」

jas

「JavaScriot」は、WEBアプリを作るときにHTMLとセットで全般的に使われ、画面上に動きを付けたい時に使われます。

近年は、ゲームにも使われたりと応用範囲がすごく広いので一番注目されている言語といっても過言ではないでしょう。

WEBページ上でリッチなユーザ体験を作りこみたい人や、ブラウザゲームなどを作りたい人におすすめです。

JavaScriptについての詳しい説明はこちらからもどうぞ。

JavaScriptの勉強法については以下の記事にまとめました。

まとめ

いかかでしたでしょうか?

あなたが作りたいものに近いイメージはありましたでしょうか?

一番興味のあるものを作れる言語を選ぶことが目標達成への近道です。

適した言語を選ぶことで、自分の作りたいものを早く確実に作ることができますので、ぜひ参考にしてみてください。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

学習者インタビュー

人気講師インタビュー

人気記事セレクション

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題!最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
Python学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

侍エンジニア塾ブログ編集部

侍エンジニア塾ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去100人以上のフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
ホームページはこちら
ツイッターはこちら
フェイスブックはこちら