プログラミング初心者だから
どの勉強から始めて良いのか分からない。
プログラミング言語も種類が多いらしい
各言語の特徴も分からない
何の言語を選べばいいのか知りたい
こんにちわ。サトシィーです。
プログラミング言語って種類が多いですよね。
年々増えてますからねw
プログラマーは生涯勉強し続けないといけないと言われる要因の1つです。
今回は、たくさんある種類があるプログラミングの中からどれを選べば良いのか?
の記事を書きます。
また、IT業界に勤め出して5,6年たった私が感じた仕事が多い言語などについて書いていきます。
そもそもプログラミング言語とは?
プログラミング言語とは、簡単に一言で言ってしまうと翻訳機です。
コンピューターと人間を橋渡しをするための翻訳機。
コンピューターは、0と1のデジタル信号でしか命令を受け取れません。ただ、それだと人がコンピューターに命令を出すのが困難ですよね?
「Helloって書いて!」を「00110110100…」みたいに命令しないといけない。。。
プログラミング言語(翻訳機)を使うと「puts “Hello”」って感じで人に近い言葉で命令を出すことができるようになります。
人「Helloって書いて!」
→プログラミング「puts “Hello”」
→コンピューター「00110110100…」
て感じ。(01の2進数は適当ですw)
突き詰めると、プログラミング言語ってコンピューターへの翻訳機。
ただ、様々な分野に特化した翻訳機が出ているようなイメージです。
ゲームに特化した翻訳機。web作成に特化した翻訳機。機械学習に特化した翻訳機。
ですが、人とコンピューターへの翻訳機がプログラミング言語のメインな役割。
言語によって書き方やルールは若干異なりますが、
基本さえ押さえてしまえば他の言語にも応用は可能です。
- 低水準言語
- 高水準言語
のような言葉も出てきますが、これも簡単に言ってしまえばどちらに近いかってだけです。
コンピューターさんよりの翻訳機(プログラミング言語)なら、低水準言語。
コンピューターさんよりなので、翻訳機がガンバル必要もないため処理が高速。だけど、読みにくい。
人間よりの翻訳機(プログラミング言語)なら、高水準言語。
人間よりなので、翻訳機がガンバル必要があるため処理に時間がかかる。だけど、読みやすい。
こう考えれば簡単かなと思います。
プログラミングの種類と選び方

学習方法
プログラミングはいわゆる翻訳機だとお伝えしましたが、
翻訳機ごとに、長所・短所が異なります。
AIなどの人工知能が得意、ゲームが得意、アプリ作成が得意。
こういった長所・短所が異なる翻訳機がどんどん世に出てくる訳です。
これが、プログラミング言語の数が多い理由になります。
選び方について私個人の結論から言うと、自分がやりたい内容の言語を選ぶのがベストと考えています。
いますけど、世の中色々な方がいますので以下3つの観点からプログミングの種類と選び方を書きます。
将来は安泰だ!将来性・需要で選ぶ
需要、将来性で学習するプログラミング言語を選ぶのもの賢い選択の1つです。
まずは、世界で人気の言語ランキング一覧をご覧ください。
次は、日本国内の求人サイトから。
2020年現在の人気を見ると、Java、PHPあたりが圧倒的に多そうですね。
なので需要を見る限りだとこのあたりを選択するのが賢そうです。
ただ、私が働いていて依頼いただく内容としてはRubyも多めです。
中小企業からの依頼が多いイメージです。
Java、PHPなどの依頼をもらうこともありますが大体大手企業です。既に世に出ているソースを改修したいとか。
世界的なランキングで見ると、Pythonが3位で浮上してきてます。
ただ、日本での求人案内率を見るとまだ上がってません。
なので、もしかしたら将来的にはPythonが日本でも活躍する可能性は高いですね。
お金を稼ぎまくるぜ!平均年収で選ぶ
2018年のプログラミング別の年収を出した一覧が以下になります。
大体、500~600万て感じですね。
日本だとまだまだプログラマーの平均年収って低いですねー。
(海外だと億稼ぐ人もいるとか。。。海外も視野に入れれる人は日本だけでなく海外の年収ランキングも調べてみると良いかも)
機械学習が流行った影響かPythonなども上がってます。
あとは、KotlinやSwiftなどアプリ系の言語が上位に入ってますね。
求人数と年収の高さから見るとRubyが圧倒的に多く安定してるのがわかりますね。
うちの会社のお仕事依頼件数からみても納得の結果です。
Go、Scalaについては世界的には人気あるので今後来る可能性はありそうですが
日本で流行るのかは求人から見ると微妙な感じ、、、ですかね。
求人数、年収の高さから見るとRubyが無難そうなのが私個人の感想です。
プログラミングは趣味!用途で選ぶ
ここまでで、RubyやJavaやGoなど色々なプログラミング言語が出てきました。
じゃ、こいつらって何?何ができる?ですよね?
結局、どの言語が何が得意なのかを把握しないと自分が将来開発したいモノと一致せず回り道になってしまう可能性もあります。
そう言う意味でもやりたいことからプログラミングを選択するのは間違っていない、、、と思ってます。
では、用途別(やりたいこと)でご説明しますね
アプリ
アプリ開発です。AndroidやiOSの開発ですね。
主な言語は、
Android:kotolin、Java
iOS:Swift
となってます。
web
Webサイトとかですね。
データの状態によって動きがない静的なモノであればHTMLとCSSだけ。
データによって文字や中身などを変えたりする動的なモノであれば、さらにJavaやPHPとかで処理を分けたりします。
これが、フロントエンド、バックエンドとか呼ばれるやつですね。
フロントエンドは、ユーザーが見える部分。画面やボタンなどですね。
バックエンドは、ボタンを押された時に裏で動くような処理です。ユーザーの認証だったりとか。
フロントエンド:HTML、CSS、Javascript
バックエンド:Ruby on Rails、Java、PHP
などです。
AI、機械学習
最近流行の機械学習や人工知能などですね。
簡単に機械学習を説明すると大量のデータ(ビックデータ)と呼ばれる過去のデータに対して将来の傾向を予測したりとかですね。
向いている言語は、Pythonですね。
組み込み
電子工作とかですね。ロボットに動作を表現させたりとかですね。
最近だと、ラズベリーパイなどを使うと比較的簡単に電子工作が可能です。
こちらも向いている言語はPythonになります。
ゲーム
プログラミングしたい人が、一度は作ってみたいのがゲームだと思います。
こちらに向いている言語はUnityになります。
他の言語で作成したりも可能ですが、物理演算などのことを考えるとUnityを使うと楽に出来ます。
プログラミング初心者の方はまずこれから
やりたいことにあった言語を勉強するのが一番なのですが、
仕事としてプログラミングに関わりたいのであれば、Webサイトの仕事が多めです。
お仕事の依頼が多いです。
そう言った意味でも、私個人としては
HTML、CSS、Javascriptが難易度的にも将来を考えた上でもおすすめしてます。
機械学習などは、Yahooなどの大手会社が手を入れてたりと言う話も聞いたことがありますが、
プログラミング未経験で採用してもらうのはかなり難易度が高いでしょうね。。
なので、まずは基本の基本から勉強してから徐々に色々な言語を勉強することをおすすめします。
1つの言語を学べば応用はいくらでも効きますよ。
こちらの記事も参照してください。
【未経験者必見】独学で出来る!プログラミングの勉強法
やれることが、機械学習から電子工作とか多いです。
株価の過去データを読み込ませて将来の株価を予想するプログラミングを作っても面白そうだし、
電子工作で自作ロボット作るのも面白そう。。自動水やりロボットとか。自動エサやりロボットとか。
まとめ
- プログミング言語はコンピューターへの翻訳機。基本さえおさえれば他の言語でも応用できる
- 需要で選ぶなら、Java、PHPは安定して多そう。将来的にはPythonも日本で流行るかも?
- 年収は500~600万くらい。求人数の多さなども考えるとRubyが安定してそう
- やりたいことで言語を選ぶのもあり!仕事で考えるならwebサイト作成に向いた言語がいいのでRubyが◎
- 初心者だったら、まずHTML/CSSあたりから学ぶのがベストかも。
以上です!色々書きましたが、とりあえずどれでもいいかプログラミングやってみてください。
楽しいですよー^^