初めのプログラミング言語選びに失敗したくない!
そんな方に、元教師で現役のプログラマーの僕が最初に学ぶ言語としておすすめな言語と、その理由をどこよりもわかりやすく解説していきます。
絶対失敗しないプログラミング言語の選び方
2020年最新のプログラミング言語ランキング
最初に世界でのプログラミング言語の人気ランキングをみてみましょう!ランキングのとり方は、各サイトを確認してみてください。(英語ですが)
サイト名 | Pierre Carbonnelle | TIOBE Software |
---|---|---|
1位 | Python | Java |
2位 | Java | C |
3位 | Javascript | Python |
4位 | C# | C++ |
5位 | PHP | C# |
6位 | C/C++ | Visual Basic .NET |
7位 | R | Javascript |
8位 | Objective-C | PHP |
9位 | Swift | DQL |
10位 | Matlab | Go |
知ってる言語はありましたか?
あくまでこれは世界でのランキングなので、日本ではもう少し違う結果になると思います。
ただ、大まかには同じようなものだと考えて良いでしょう。
PythonとかJavaが1位だ!これらを勉強しよう!って単純に決めてしまっては、後で後悔します。
なぜならそれぞれの言語には、将来性や書きやすさなどがあるからです。例えば、C++なんかはどちらのサイトでも上位にランクインしてますよね。
でも初めにC++から学ぶことは絶対におすすめしません。
理由は、シンプルに難しいからです。大学などでC++を習って、プログラミングが嫌いになった、挫折したという人は星の数ほどいます。
言語によって書きやすさも大きく違うので、その辺りも考慮して最初に選ぶ言語は決めるべきです。
また、何を作れるようになりたいか、という点も大事な観点となります。例えば、iphoneアプリを作りたいのに、PHPを学んでも大きな遠回りとなります。
だから、最初の言語を選ぶ際には
- 難易度
- 作りたいもの
- 将来性
などを考えて言語を選んでいく必要があります。
難易度、将来性などの僕の考えも紹介しているので、一つの参考にしてみてください。
webプログラマーになるためのおすすめ言語
webプログラマーは簡単にいうと、webサイトを作ることに特化したプログラマーです。
例えば、インターネットで買い物をするとしますよね。その時、
- 欲しい商品を検索する
- 検索した商品が出てくる
- カートに入れる
- 購入する
って感じの流れになると思います。この流れを作っているのが、webプログラマーです。
webプログラマーには大きく分けて2つのプログラミング知識がいります。
- フロントエンド
- サーバーサイド
の2つの知識です。
フロントエンドとは、主に皆さんがの目に入るサイトの画面を作ったり、画面を動かしたりする部分のことです。
サーバーサイドとは、皆さんの目に見えない部分、例えばサイトから注文が入ったらその注文をお店に連絡しますよね。そのような、画面を操作した後の裏の流れの部分のことです。
特に作りたいものとかが決まってないけど、とりあえずプログラミングの知識がほしい!という方は、
なぜなら、webプログラマーはかなりの人材不足となっているからです。
経済産業省が発表したレポートによると、2020年ですでに約30万人のプログラマーが、そしてこの人材不足は10年以上続き、
2030年には70万人以上のプログラマーが不足すると言われています。
勉強しておけば仕事に困ることはないでしょう。
Javascript
どの言語から学び始めるにしても、いずれは学ばなければならない言語、それはjavascriptです。
Javascriptはwebサイトなどに動きを加える言語として開発されました。なんか動きがあるwebサイトってありません?例えば下のボタン(押したら上に戻っちゃいます)
なんか光ってるし、カーソルをあわせたら大きさが変わったりします。
ボタンを押して上に戻ったら、このブログの色々なところにカーソルをあわせて見てください。色々な動きをしますよね。
こんなのは全部Javascriptで動いています。
逆にJavascriptがなかったらwebサイトは全部紙に書いたみたいな動きのないページになります。
そう考えたら、大切さがわかりかません?
皆さんが見る部分を作るのでフロントエンドの作る言語です。
Javascriptを使ってないwebサイトなんて、今や阿部寛さんのホームページくらいしかありません。webサイトを作るなら、必ず使う言語です。
また、最近ではサーバーサイドもJavascriptで書くことができるようになっています。
そのため、Javascriptを勉強しておけば、それだけで一つのwebサイトを作成できるほどにまでなっています。
言語としても書きやすく、初心者の方向けの学習教材も多くあります。
そのため、非常に学びやすい言語です。上のランキングでも、3位と7位と、どちらも上位に位置していますね。
最近のサーバーサイドでの利用の需要の高まりから、将来性も十分あります。
習得しやすさ | |
---|---|
将来性 | |
おすすめ度 |
Ruby
島根県で育った、松本さんが作ったサーバーサイドの言語です。かなりシンプルに書くことができとてもわかりやすい言語です。
また、Ruby on Railsというフレームワーク(簡単に言語を書く装備みたいなもの)が開発されており、一通り勉強すれば簡単にwebサイトを公開できるようになります。
非常に学習がしやすく、習得しやすい言語と言われています。スピーディに開発できるので、多くのスタートアップ起業もRubyを使って開発しています。
また、日本語の文献が多く、わからないことを調べたら答えが出てきやすいので、初心者がまず学ぶのにおすすめな言語です。
無料のプログラミングスクールに通う場合、このRuby on Railsを学ぶことが多いです。
ただ日本では人気なものの、世界的な人気は少し落ちてきているようです。上のランキングも圏外ですね。(15位くらいにのっていました)
習得しやすさ | |
---|---|
将来性 | |
おすすめ度 |
Python
将来性抜群の流行りの言語です。ランキングでも1位、3位とかなり上位にいます。ここ数年で、順位をどんどん上げてきました。
また、人気の理由として、機械学習、データ解析やAIといった最新の技術を簡単に扱えることにあります。
今後も間違いなく需要が伸びていく言語です。勉強しておいて損はありません。
文法もわかりやすいことで有名です。シンプルなコードが書けるので、他人が書いたコードでも読みやすいのが特徴です。
ただ、一つ初心者が学ぶ上でのデメリットがあります。
それは、日本語での検索結果が少ないことです。
日本語でのテキストは豊富にあります。しかし、いずれは自分でシステムを作ることになるでしょう。
その時、検索して色々と調べようとしても、ほとんどが英語の検索結果しかありません。
Javascriptと並んで、いずれは勉強して身につけなければいけない言語の一つです。
しかし未経験の方が最初に選ぶ言語としては、どうかなーというのが僕の印象です。
習得しやすさ | |
---|---|
将来性 | |
おすすめ度 |
他にもwebプログラマーが使う言語にはPHP、Java、Go、C#など様々な言語があります。
どれを選んだら正解、間違いという選択はありません。
ただ、僕が個人的に未経験の方が最初に学ぶのにおすすめなのは、上で紹介したJavascript、Ruby、Pythonあたりかなーと思います。
ゲームプログラマーになるためのおすすめ言語
「マリオ」「ドラゴンクエスト」とか聞いたことありますよね。最近ではスマホアプリ「パズドラ」「ポケモンGO」なんかも大ブームでした。
こういったゲームのアクションやサウンドを適切に表示させるプログラムを書くのが、ゲームプログラマーです。
ゲームには色々なプラットフォームがあります。
- ニンテンドースイッチ
- プレイステーション
- iphoneアプリ
なんかを思い浮かべる人も多いでしょう。最近ではスマホゲームの数が爆発的に増えてきています。
どの媒体のゲームを作るかで学ぶ言語は変わってきます。それでは、ゲームプログラマーになるために学ぶ言語のおすすめを紹介していきます。
UnityとC#
Unityとは、今世界のゲーム開発で最も使われているゲームエンジンです。プログラミング言語ではありません。
ゲームエンジンとは、ゲームを簡単に作るための支援をしてくれるツールのことを言います。
「ポケモンGO」もUnityを作って開発されたことも有名です。
最初にUnityをおすすめする理由は、Unityは様々なプラットフォームの開発ができるからです。
ゲームが発売されている多くのプラットフォーム
- iPhone,
- Android
- Mac
- Windows
- PlayStation4
- Xbox
- ニンテンドースイッチ
などなど
Unityを使えるようになればプレステでの3Dのゲームから、スマホでできる簡単なアプリまで幅広いゲーム制作ができるようになります。
プログラミング言語を知らなくてもある程度のことはできますが、高度なことをしたい場合は、C#でプログラミングをしていく必要があります。
そのため、UnityとC#の勉強がゲームプログラマーになるための最も近道です。
習得しやすさ | |
---|---|
将来性 | |
おすすめ度 |
Swift
SwiftはAppleに開発された言語です。iphoneやipad、macで使えるアプリを開発する言語となります。
iphoneのアプリを作りたい!という方はSwiftがおすすめです。読みやすくて書きやすい言語と言われています。
Unityのように本格的な2D3Dのゲームを作ることは難しいです。
しかしタスク管理ツールのような、ゲームではなくツールアプリを作る場合はこちらのほうが作りやすいので、そこがUnityとの差別点となります。
Appleの審査が通れば、リリースすることも可能です。そのため、一人でサービスを作りたい人に適した言語といえます。
最近ではiphoneを普及しておりアプリもどんどん増えてきているので、今後は需要も高いでしょう。
不安点といえば、完全にAppleに依存しているということです。Apple製品のアプリを作るための言語なので、それ以外には使えません。
そのためAppleが潰れた時には、使えないスキルとなるかもしれません。(まぁないと思いますが)
習得しやすさ | |
---|---|
将来性 | |
おすすめ度 |
他にもwebプログラマーのところで紹介したJavascriptや、C++などもゲームプログラマーには必要な知識です。
組み込み系プログラマーになるためのおすすめ言語
家電製品や電子機器などを制御するプログラムの開発を行います。僕たちの日常生活でもプログラムに制御されているものはたくさんあります。
- テレビ
- エアコン
- 電子レンジ
- カーナビ
など。
このような製品に、プログラムを組み込む人のことを、組み込み系のプログラマーと言います。
最近ではIoT(物とインターネットを繋ぐこと)も盛んになっているので、今後の需要はますます伸びそうです。
あらゆるものにプログラムを組み込む時代が来るので、仕事の幅は無限大ではないでしょうか。
また、年収も他のプログラマーの平均より高めの傾向があります。
ただ使う言語の難易度が未経験の方がいきなり学ぶには少し高いです。
未経験から組み込み系プログラマーを目指して仕事を行うには他のプログラマーになるより少し努力が必要になるかもしれません。
おすすめ言語は次の通りです。
Java
webプログラマーのところでも少し紹介しました。2000年代に入ってからは常に高い人気を誇っている人気の言語です。
RubyやJavascriptに比べると少し学習難易度が高いことだけがネックです。
組み込み系に使うことはもちろん、webアプリケーション、Androidアプリ、ゲーム開発など様々な現場で使えます。
求人数を圧倒的な数があり、Javaができれば引く手数多です。
大手求人サイトindeedの検索boxでJavaと調べてみると、なんと51,147件もの数がヒットしました。
Rubyだと11,936件、Javasriptですら21,324件です。(2020年3月調べ)こう考えると、Javaの需要がわかりますね。
デメリットとしては先程も述べたように、初心者には学習難易度が少し高いことが挙げられます。
またJavaでシステムを作るのには時間がかかり、小規模の開発には向いていません。そのため、個人開発などはJavaで行うことはおすすめできません。
是非習得したい言語ですが、初心者が最初に学ぶ言語としてはどうなのかなといった感じです。
習得しやすさ | |
---|---|
将来性 | |
おすすめ度 |
大切なのは、就職までこぎつけること
いかがでしたか?興味のある言語は見つけられましたか?
どの言語を学ぶにせよ最も大切なことは、就職までこぎつけることです。
なぜなら、間違いなく実際の業務でプログラミング言語を使うほうが、圧倒的に早く成長できるからです。Rubyを学んでPythonを使う会社に就職してもかまいません。
とにかく早く就職してプログラマーになるためにはスクールに通うことが圧倒的な近道なので、次はスクールの検討をどうぞ
では、良いプログラミングライフを!