プログラミング言語まとめ【目的別・作りたい物で選ぶ】
プログラミングを学び始めようと思い立っても、どの言語を学習すればいいのか分からない人が多いのではないでしょうか?
今回は「何を作るか」でプログラミング言語を紹介していきます。
目次
webサービスを作る
ネットで検索して、ChromeやSafariなどのブラウザで使えるものがwebサービスです。
webサービスの具体例
- YouTubeやニコニコ動画などの動画投稿サイト
- TwitterやFacebookなどのSNS
- 楽天やZOZOTOWNなどのネットショップ
最近のプログラミングスクールでよくあるカリキュラムはwebサービスを開発するためものが多く、学習はしやすくなっています。
webサービスを開発するために必要なプログラミング言語
webサービスを開発するためには、[主にデータを扱う言語]+[主に見た目を作る言語]のセットで学習する必要があります。[主にデータを扱う言語]はサーバーサイドとかバックエンドと呼ばれています。[主に見た目を作る言語]はフロントエンドと呼ばれています。
学習する言語セットの具体例
- [PHP]+[HTML,CSS,Javascript]
良い所:案件の数は多い・就職しやすい
微妙な所:古い技術を扱う案件に当たると、市場価値は上がりにくいかも - [Ruby]+[HTML,CSS,Javascript]
良い所:新しめの技術を扱う案件が多い・未経験からでも学習しやすい
微妙な所:関東以外では案件少なめ・就職難易度が少し高め - [firebase]+[HTML,CSS,Javascript]
良い所:少ないコード量で開発できる・個人開発が比較的ラク
微妙な所:案件や就職先はとても少ない
見ていただいたとおり、webサービスを開発する上で[HTML,CSS,Javascript]は必須です。これはフロントエンドの言語(主に見た目を作る言語)です。
ここで紹介したPHP・Ruby・firebaseがサーバーサイド(主にデータを扱う言語)に当たります。
就職したい・将来的にフリーランスになりたい場合は、PHP・Rubyがおすすめです。リモートでの仕事はすぐには難しいですが、早ければ1〜2年の実務経験を積めば可能性は十分にあります。
オリジナルのwebサービスを開発して収益化させたい場合は、firebaseがおすすめです。firebaseは言語ではありませんが、サーバーサイド言語の代わりになります。収益化させる難易度は高いですが、挑戦する価値はあると思います。
ホームページを作る
ホームページを作るのに必要な言語
- HTML
- CSS
- Javascript
基本的に見た目をキレイに作ることが仕事です。(HTML,CSSは正確にはプログラミング言語ではありません。)
仕事の数はとても多く、就職のハードルも比較的低い会社が多いです。また、実務経験が無くてもフリーランスとして働くことも十分に可能です。
低価格で学習できる教材もネット上に多くあり、習得するハードルもそこまで高くないでしょう。
しかし、習得のハードルが低い分、収入も上がりにくいです。収入を上げるための方法としては、デザインもできるようになる・javascriptを極める 等の方法が考えられます。
スマホアプリを作る
スマホアプリを作れると、友達に自慢しやすくていいですよね〜
スマホアプリの開発に必要なプログラミング言語の例
- Swift
iPhoneのアプリ開発に多く使われている言語です - Kotlin
Androidのアプリ開発に多く使われている言語です - Java
Androidのアプリ開発に多く使われており、スマホアプリ以外にも様々な開発にも使われている言語です。 - Flutter(フレームワーク名)
iPhone・Android両方のアプリを同時に開発できます。
就職する・業務委託をするフリーランス を目指すなら、Swift・Kotlin・Javaがいいかもしれません。お仕事が多いのはこの辺だと思います。
オリジナルのアプリを作りたいという方はFlutterがオススメです。iPhone・Androidの両方を作れるのがいいですね。比較的新しい技術でお仕事はまだ少ないですが、これから主流になる可能性が高く将来性があると言われています。僕がこれから勉強するなら、Flutterを選びます。
業務システムを作る
ここで言う業務システムとは、商品の在庫を管理したり、顧客情報を管理するなど、企業が業務の中で使用するシステムを指します。
業務システムの開発に必要なプログラミング言語の例
- Java
- C#
- Visual Basic
業務システムの開発は規模の大きいものが多いです。そのため、開発を取り仕切る立場になれば、「大きい仕事を任されている感」があってやりがいを感じやすいかもしれません。
働き方としては、プロジェクト毎に働く現場が変わるSESという形式が多いです。フリーランスとして独立することも可能ですが、会社員と同じように勤務場所や勤務時間は決められてしまうことが多いです。
機械学習・AIの開発
こちらはPython一択でしょう。
その理由としては、機械学習やAIの開発に利用できるライブラリが多く用意されているためです。機械学習やAIの開発のためには、線形代数・ベクトル・行列などの数学をプログラミングで再現する必要があります。ライブラリを利用することで、数学を再現するためのコードをあまり書かなくても開発が可能です。しかし、仕事として開発をするためには数学の理解が必要となります。
さいごに
プログラミングの学習をするときのモチベーションとして、興味を持てるかどうかが大きいと思います。「習得したらこんなものが作りたい」という気持ちがあると、プログラミングの学習が楽しくなるでしょう。