【独断と偏見】エンジニアが考えるプログラミング言語難易度ランキング2019

プログラミング

主要プログラミング言語の難易度と特徴まとめ

まず主要なプログラミング言語とその特徴を簡単に整理します。

個人的な経験をもとに話しているので、所々偏った意見になっているかもです。

HTML【難易度:★☆☆☆☆】

もっとも簡単な言語。

正確にはマークアップ言語と呼ばれプログラミング言語ではない。

✔️できること
ウェブサイトの骨組みを作れる。
具体的には、
・サイトのタイトルは〇〇
・サイトのヘッダーにはこんな要素を入れる
・ボタンは3つ置く
・サイトの1番下にお問い合わせフォームを置く
などです。

初心者にオススメな言語の1つ。

CSS【難易度:★★☆☆☆】

CSSもHTMLと同じで厳密にはスタイルシートと呼ばれプログラミング言語ではない。

CSSはHTMLで作ったwebサイトの骨組みのデザインをどうするか決める言語。

できること:

  • ボタンの色は黄色にしよう
  • サイトのタイトルのフォントは〇〇にしょう
  • お問い合わせフォームの文字サイズは〇〇にしよう

こんな感じです。

言語自体の難易度はHTMLと同程度に感じるが、細かいレイアウトの設定とかがたまに難しく感じることがある。

JavaScript【難易度:★★☆☆☆】

JavaScriptは近年めちゃくちゃ流行っているプログラミング言語。

なぜ流行ってるかというと、

✔️簡単なのに、できることは非常に多いからです

JavaScriptでできること:

  • Webサイトのデザイン(CSSとの違いはアニメーションとか動きのあるもの)
  • Webアプリ開発。FaceBookやTwiterなどが代表的なWebアプリ。JavaScriptではこういったWebアプリの仕組みを作れる。
    具体的にはサーバーとのやりとりができる。所謂サーバーサイド言語と呼ばれるもの。会員登録機能や、メッセージの送信、データの保存など色々できる
  • アプリ開発。iPhone・Androidのアプリ開発ができる
  • ゲーム開発。ゲームも作れる

とにかく万能な言語の印象です。

PHP【難易度:★★☆☆☆】

サーバーサイド言語。かなり簡単な印象。

できること:

  • ECサイト
  • SNS
  • ブログ
  • 予約システム

などなどWeb系のものなんでもできる印象。

PHPで作られたサービスで有名なのは、

FaceBook

メルカリ

ぐるなび

あたり。

Ruby【難易度:★☆☆☆☆】

PHPと同じサーバーサイド言語。できることは基本的にPHPと同じ。

Web開発に使われる。

Rubyで作られた有名なサービスと言えば、

Twitter

Airbnb

クックパッド

あたりでしょう。

Rubyは日本人のYukihiro Matsumotoさんによって開発された国産言語で、

プログラミングを楽しむことを優先して作られた言語のため、

とにかく簡単です。初心者でも始められます。

またRuby On RailsというWebサイトを簡単に作れるツールが用意されており、

高速に開発できます。

その為、スピード感の求められるスタートアップで使われている印象です。

Python【難易度:★★☆☆☆】

Pythonもサーバーサイド言語です。できることはPHP,Rubyとほとんど同じです。

Web開発でよく使われます。

Pythonで作られた代表的なサービスは、

Youtube

Dropbox

などがあります。

RubyやPHPと違ってPythonにはもう1つ武器があります。

AI

です。

世界中でAIの開発は基本Pythonが多いです。

Swift【難易度:★★★☆☆】

SwiftはiOS向けのアプリを開発するための言語です。

  • iPhone
  • iPad
  • Apple Watch

などのアプリを作れます。

App StoreにあるほとんどのアプリはSwfitを使って作られています。

言語自体の難易度はPHP,Pythonと同程度の印象なのですが、

iOSアプリ作成にはSwiftに加え、Xcodeの使いかたも覚えなければいけません。

XcodeはSwiftを使う作業場のようなイメージで、この作業場の使い方の知識も必要になってきます。

体感として、Xcodeの習得はSwift言語の半分の時間くらいでできるかと思います。

超難しいとかはないのでご安心を。

iPhoneアプリに興味があればぜひSwift+Xcodeにチャレンジしてみてください。

Kotlin【難易度:★★★☆☆】

KotlinはAndroidアプリの開発に使われる言語です。

言語的にSwiftによく似ている印象です。

Swiftと同じで言語の難易度的には、PHPとかと同じなのですが、

作業場のAndroid Studioも併せて学ばなければならないので、

【難易度:★★★☆☆】にしています。

Android開発に興味があれば迷わずKotlinでOKです。

Java【難易度:★★★★☆】

Javaはプログラミング言語の王道のイメージ。

Javaなら基本なんでも作れるし、プログラミングの基本も理解できる。

  • Androidアプリ
  • ゲーム(マインクラフトとかJavaで作られてます)
  • 業務用アプリ
  • 金融決済システム
  • Webアプリ
  • デスクトップアプリ
  • 冷蔵庫とかの家電製品
  • AI

などなど笑 無敵感ありますよね笑

とにかく世界中で広く使われています。

これだけ万能なら当然っちゃ当然ですが。

言語の難易度的には、やや難しめ。

難しいというよりも、コード量が長くなるという印象が強い。

PythonとかRubyで同じようなコードを書こうとするとJavaは2倍のコード量が必要なくらい。

よってスピード感の求められるスタートアップではあまり使われていいないが、

金融、決済系とか堅いシステムにはよく使われる。

コンパイル言語と呼ばれ、PythonやRubyなどと比べると、処理速度が何倍も速い。

C言語【難易度:★★★★★】

C言語系はとにかく難しい印象。

コード量多い、概念ややこしい、なかなか書けない。

ただ処理能力はPythonとかの比にならないくらい高速。超有能言語。

情報系の学生が授業でC言語やらされて挫折した話をちょくちょく聞く。

私も個人的に相談された経験あり。

C言語でできること:

  • 家電
  • 組み込み系
  • IOT製品
  • OS(WindowsやLinux、MacOS)

などなどを作れる。

ロケット作りたい! とか家電作りたい!

とかの人ならやっても良いかも。

プログラミング初心者にはオススメしない。

プログラミング言語の選び方のコツ

上でプログラミング言語の難易度とか特徴をざっくりと解説しました。

ここではプログラミング言語の選び方を紹介します。

私が考えるプログラミング言語の選び方は2通りです。

  • 作りたいものから選ぶ
  • エンジニアになることを目的に言語を選ぶ

作りたいものから言語を選ぶ

1つ目が、自分の興味のあるプログラミング言語から選ぶ方法です。

例えば、

  • webサイトのデザイン→HTML, CSS, JavaScript
  • iPhoneアプリ→Swift

みたいな感じです。

好きなものを作るのは楽しいし、力もつくので、

もしすでにやりたいことがある場合は、この選び方でOKです。

エンジニアになることを目的にプログラミング言語を選ぶ

作りたいものはそんなにないんだけど、プログラミングを学んでエンジニアになりたいという方もいると思います。

私もこのタイプでした。

このタイプの方にオススメなのが、難易度がそんなに高くない言語をとにかく色々試してみることです。

例えば、

webデザイン→HTML,CSS,JavaScript

web開発→Ruby,PHP,Python

ゲーム→JavaScript

みたいな感じで色々やってみて、できそうなもの、ちょっとでも興味のあるものを見つけたらOKです。

私は、

HTML→CSS→JavaScript→PHP→Ruby→Python→Kotlin→Swift

で現在iOSエンジニアやってます。

求人・年収とか気にしなくてOK

プログラミング言語選びに、求人数とか年収とかあまり気にしなくてOKです。

よくプログラミング言語のランキング記事とかみると、

言語別平均年収とか求人数とか載ってますが、これらは気にしなくてOKです。

  • 実力をつければどの言語でも稼げる
  • 求人数も多ければ良いわけではない

からです。

平均年収高い言語を少しできる人よりも、平均年収低めの言語をバリバリできる人なら後者の方が、給料高くなります。

また求人数が多ければそれだけ応募者も多くなったりもします。


まとめ

以上です。今回はプログラミング言語の難易度を完全に独断と偏見で決めました。笑

これからプログラミングを始める人や、少し挫折気味の人の役に立てるような記事になっていると嬉しいです。

本ブログでは他にもプログラミングの記事を書いているので参考にしてみてください!

併せて読みたい記事=>【経験談】プログラミングで挫折しないシンプルな方法