こんちゃっす、ダイブツです!
今回は初心者が気になるプログラミング言語毎の難易度について書いていこうと思います。
色んなサイトで難易度について書かれているんですが、ある特定の言語同士で比較されているものってあまり無かったんですよね。
で、「結局それぞれの難易度を比較するとどーなるん?!」ってのがよく分からなかったんで、それなら自分で記事書いちゃえ!ってことで書くことにしました。
実際、やりたいことから言語選ぶのが一番なので難易度とかそこまで重要ではないんですけど、比較するだけ比較してます。
数値的にどの言語が難しいとかのデータがあるわけではないので、主観的な感覚で難易度付けていきますね!
全ての言語で比較すると数が多くなりすぎるので、主に比較されるであろう言語で比較してます。
順位は低い方から簡単な順番になってます。
まずは簡単な方から紹介していきますね!
と、まずは一発で8言語の難易度が分かるように画像にまとめたので見てください。
ほら、一撃でわかるでしょ?(笑)
それじゃあ上の言語から細かい内容について書いていきまーす。
番外編:6位
HTML
1番難易度が低いのが、このHTMLです。
ただ、正確に言うと、HTMLはプログラミング言語ではなく、マークアップ言語という別物になります。
他の言語とHTMLを比較したいことが多いと思ったので、この記事に含めています。
そして何でHTMLが簡単かっていうと、HTML系の言語は計算をするみたいな処理が全く無くて、ホントにデザインだけ!っていうイメージなので難易度としては低くなってます。
5位
JavaScript
プログラミング言語として難易度が一番低いと思われるのは、JavaScriptです。
JavaScriptは本当に「これが基礎!」って感じのプログラミング言語なので、初心者がとりあえず勉強するには取り組みやすいかなと感じます。
他のプログラミング言語を勉強するにしても、最初にJavaScriptを勉強して、それから他のプログラミング言語を勉強する、という流れにするのも挫折しにくくなるのでアリですよ。
4位
Ruby
PHP
次に簡単な言語として取りあげるのは、主にWebで使用するプログラミング言語達になります。
RubyとPHPとで若干の難易度の違いはありますが、大きなくくりとしては同じ程度の難易度です。
この辺りの言語はですねー、本当に最初に学べたらどんなに楽だったか!
すごい簡単に言うと、もうプログラムが間違ってても動いちゃったりします。
後は色んな処理の記述が細かく指定しなくて済んじゃうんですよね~。
C言語みたいなカッチリした言語から勉強した僕としては、正直気持ち悪い部分でもあったりするんです。
「変数で数値と文字列分けて定義できないとかなんなん?!」って感じですよ。
そういう所でバグが入りやすかったりするから個人的にはちゃんと分けて定義したいんですが、そういう部分を気にしなくても書ける言語として難易度は低めになりました!
3位
Python
3位になったのは最近AI関係でよく登場するPythonですね。
Pythonを3位に選んだ理由は、for文の書き方や、配列の書き方が独特だからです。
他の言語をやってると、扱いにちょっと慣れが必要ですよ。
よくAIの勉強は難しいという話を聞いたりしますが、難しいのは根本的なAIの理論(機械学習とか)の辺りであって、Pythonのプログラミング言語としてはそこまで難しくないです。
今回はプログラミング言語としてのランキングなので、この順位になっています。
別の記事ではPythonとC言語の違いをめちゃめちゃ細かく書いているので、Pythonはどんな特徴があるのか気になったら読んでみてください。
ってことでPythonの難易度ランクは3位になりました。
2位
Swift
Java
ランキング2位となったのは、スマホアプリ関係の言語です。
SwiftはiOSのアプリ作成に使われるもので、JavaはAndroidアプリ作成に使われます。
この辺りになってくると、変数の型(数値だとか文字列だとか)をちゃんと意識しないといけなくなってきます。
難しさも作るスマホアプリによっても変わってくるんですが、スマホが持ってる機能を利用していくと段々難易度が上がっていきます。
スマホの機能っていうのは、GPSだったり、Bluetoothだったり、あとは熱センサーとな重力センサーだったりですかね。
こういう機能を利用しようとしたりすると、常に変化があるもの(タイミングによってセンサーから取得する値が違うとか)を考慮する必要が出てくるんですね。
こういう所がなかなか頭悩ませたりするんですよー!
ちなみにJavaはJavaScriptとよく混同されてしまう悲しい言語です、名前がややこしすぎるんですよね。
JavaとJavaScriptは全くの別物です。
あとJavaはですね~、簡単に言うと色んなことが出来過ぎるんですよね~。
ただ、覚えておいて損はない言語だと思います。
というかJavaを使ったプログラマーの求人数たくさんあるんで、余裕があるなら身に付けておくと、新しく仕事を探す際楽になりますよ!
1位
C言語
難易度ランキング1位に輝いたのはC言語です!!
C言語の難しい部分は、記述の仕方が色々と細かいところと、プログラムのメモリがどう使われているか理解しないといけないところですね。
僕は大学で初めてプログラミングを勉強したのがこのC言語だったんですが、今思い返すと正直初心者向けじゃないなととても感じます。
古いプログラミング言語なので仕方ないのかもしれないんですけどね、ポインタという内容で挫折する人多数ですよw
ただ、僕としてはこのC言語に取り組む人が増えてほしいと思っています。
何故かっていうと僕がいつも使っているプログラミング言語がC言語だから!
もし、あなたがどのプログラミング言語を学ぼうか悩んでいるならC言語に取り組んでみませんか?
最後に
プログラミング言語毎の難易度ランキングは参考になりましたか?
ただ、最初にも書いたように、やりたいことからプログラミング言語を決めるのが一番です。
なので、この記事で書いているプログラミング言語の難易度は「ふ~ん」ぐらいで留めておいてもらえれば問題ありません。
自分のやりたいことができるプログラミング言語を選んで、それをしっかり勉強していきましょう!
個人的な感覚ということはランキングにあるものは全てやったことがあり一定のレベルまで勉強したということですか?
>初心者プログラマーさん
一定のレベルというと幅があるので何とも言えませんが、ランキングにあるのは全て触ったことありますよー!
では、Android アプリ開発のところはなぜ言語ではないのでしょう
基本的にJavaで開発することになるの思うのですが。
それとなぜ言語にCSSやBootstrapが入っているのかが謎です。あれらは言語ではなく仕様ですよ。知らない人に嘘の情報が伝わるので書き直すべきだと思います。
>初心者プログラマーさん
ご指摘の通りです、すみません!
この記事を書いたのも2年以上前で、色々考えが変わってきている部分もあるので、全体的に修正しようかと思います。
ご指摘ありがとうございました!
Unityを使って2Dゲームを作りたいのでC#を学びたいのですが、難易度は高いでしょうか。
個人的な感覚としては、C#の難易度はJavaと同じぐらいかなと思います。
ただ、ゲーム開発にはC#の知識は欠かせないはずなので、難易度関係なく勉強する必要がありますよ!
やっぱりJava難しいんですね…
C言語もJavaも学んでみようかなと考えていましたが、両方学んでおいた方がいいんでしょうか?
>ただの初心者さん
コメントありがとうございます!
Javaが難しいといっても十分身に付けられますよ、大丈夫です。
C言語とJavaどっちか覚えておけばいいのであれば、あえて両方覚える必要はないです。
必要になった時で問題ありません。
勉強して今後役に立ちやすい方はJavaですかね。無難な文法とオブジェクト指向が学べます。
ただ僕がメインで使ってるのはC言語なので、C言語を勉強する人が増えるといいなーとは思いますw