CODE GALLERY No.22
プログラミング言語診断
12の質問に答えると、Python・JavaScript・Java・Swift など12の言語から、あなたに合ったものを選びます。
プログラミングを始めようとして、最初につまずきやすいのが「どの言語から始めるか」です。調べるほど候補が増え、比べているうちに手が止まってしまいます。
この診断では、作りたいもの・働き方・性格の12問から、12の言語との相性を出します。結果には、その言語で作れるもの、ブラウザだけで試せる場所、Hello, World! の書き方まで載せているので、気になったらそのまま最初の1行を書いてみてください。
HOW TO USE使い方
- 「診断をはじめる」を押し、12問に答えます。パソコンなら数字キーでも選べます。前の質問に戻って答え直すこともできます
- 結果には、いちばん相性のいい言語と、12言語すべての相性が出ます。相性の一覧で言語を押すと、その言語の説明に切り替わります
- 答えはこのブラウザに残るので、次に開いたときは前回の結果から見られます。「もう一度診断する」で最初からやり直せます
HOW IT WORKS判定のしくみ
答えにはそれぞれ、言語ごとの点が決めてあります。たとえば「AI・データ分析」を選ぶと Python に5点、「動かす前にまちがいを全部教えてほしい」を選ぶと TypeScript に3点、Kotlin に2点、という具合です。「作りたいもの」「働き方」「楽しいところ」の3問は点を大きくして、性格の質問より結果に効くようにしています。
ただ、点を足しただけだと、点をもらえる答えが多い言語ほど有利になります。そこで、その言語が取れる最高点で割って比べています。
// 相性 = 点の合計 ÷ (その言語の最高点 の 0.7乗) const rate = score / Math.pow(MAX[lang], 0.7);
最高点でそのまま割らずに0.7乗で割っているのは、点が少しの答えに集まっている言語(Rust や C++ など)が、今度は逆に有利になりすぎるからです。でたらめに答えた20万回で1位の言語を数え、どの言語も5〜17%の範囲に収まる強さを選びました。いちばん多いのは Python で、Python に点が入る答えが多いためです。
CHOOSING結果の使い方
迷ったときは、性格よりも「作りたいもの」を優先するのがおすすめです。iPhone のアプリなら Swift、Android なら Kotlin、ゲームなら C#(Unity)のように、作りたいものが決まると、使う言語もほぼ決まるからです。
それから、最初の1つはそれほど重く考えなくて大丈夫です。変数・条件分岐・くり返し・関数といった考え方は、どの言語でもほとんど同じなので、1つを覚えると2つ目はずっと早く身につきます。結果のカードの下にある「慣れてきたら次は」は、その2つ目の候補です。
筆者は2014年から Java を書いています。Java と Python で迷っている人は、Java と Python の違いを目的別に比べた記事も参考にしてみてください。
NOTES注意
- 結果は、答えから相性を出した目安です。どの言語がすぐれている、劣っている、ということではありません
- 「はじめやすさ」は、文法の覚えやすさと、動かすまでの準備の手間から筆者がつけた目安です
- 言語の色は、GitHub が言語ごとに使っている色に近いものにしています
※ 診断はすべてブラウザの中だけで行い、答えはどこにも送りません。

