自然言語学からみたプログラミング言語 Vol.1 – 世界に現存する数とその需要 –

Learn to Program, not a Programming Language – codeburstより はじめに Happy Holidays!! こんにちは、Oasistです。 大学時代は英語学のゼミを専攻しており、四年時に休学して1年間オーストラリアに滞在し、生活レベルの英語に浸かりました。 現在でも、休日にはVital Japan主催の勉強会に出席したり、言語学関係の書籍を日がな一日読んでいたり。 (休日は全く違った脳領域を使うことがリフレッシュの鍵ですね!) こういった経緯で言語というものに強い関心を持っておりますが、ある日ふと「言語学と同じアプローチでプログラミング言語を紐解いたら何か新しい発見があるのでは」と思いつき、この記事を書きました。 仕事や趣味でプログラミング言語は触るけど、プログラミング言語そのものについてそれほど意識することがないよという方にとって、またそれ以外の読んで下さる方にとって少しでも新しい発見や議論が生まれれば、筆者の仕事は大成功です。 内容としては、ガチガチにプログラミングについて述べたものではありません。 したがって、肩の力を思い切り抜いて、暇な時にサラッと「箸休め」的記事としてお読み下さい。 言語というのは非常に多面的でその全てに言及するのは非常に骨が折れますので、大きく以下の2つのテーマに絞りたいと思います。 プログラミング言語って何者? Vol.1 -世界に現存する数とその需要- プログラミング言語って何者? Vol.2 -言語の「死」- クリスマス・イブの本日は「Vol.1 -世界に現存する数とその需要-」です。 目次 プログラミング言語の数 プログラミング言語人気ランキングトップ10 プログラミング言語の需要を左右する要因 ⚓ 1. プログラミング言語の数 2017年現在、Ethnologueによると世界に存在する自然言語の数は7,079と言われています。 ただし、この数は現存する「生きた=話者がいる」言語ですので、ラテン語等の「死んだ」言語は除かれています。 さて、世界にはどのほど多くのプログラミング言語が存在するのでしょうか? この疑問に対する答えは、予想していたよりも遥かに深淵で難解でした。 というのも、どのような尺度でその数を定めるか、何を持ってプログラミング言語と定義するかによってその数は大きく変わってしまうからです。 事実、以下に示すソースでもその数はバラバラ。 CodeLaniによると、プログラミング言語は以下の通りです。 ・TIOBE – 250 TIOBEの指数は、最大250の人気プログラミング言語を一覧化した最も信頼のおけるリストの一つ。 以下の三つの要件を満たしたプログラミング言語のみを掲載している。 独立したWikipediaページが存在していること – 十分な知名度・市民権がある コンピューターが処理可能である Google検索で5,000以上の人がある – 参照が十分である ・Wikipedia – 700 有名な現存する全てのプログラミング言語を記載することを主眼としている。 マークアップ言語等、一部の言語はプログラミング言語の範疇として扱っていない。 ・FOLDOC – 1,000 1,990年代のオンラインのコンピューター関連辞書。エイリアスを含めて掲載。 ・The Language List – 2,500 1,991年誕生。最大2,500のコンピューター言語を掲載。実装歴や需要に関係なく、刊行物に載ったことがあるコンピューター言語も含めて掲載している。 ・HOPL – 8,945 Diarmuid Pigott氏公開のプログラミング言語集。 ・J.E. Sammet – ~165 (In 1971) Jean Sammet氏はコンピューターの先駆けで、COBOL開発に寄与。1971年という早い段階で最大165のプログラミング言語を追究。 CodeLaniは、使用者がいる一般的用途のプログラミング言語の数は500~2,000の間である、と結論づけています。 しかし、明確な基準を持っているTIOBEの250という数が最も説得力があると思えます。 ⚓ 2. 需要ランキングトップ10 World Economic Forumによると、自然言語において、第一言語話者のみに絞った場合、中国語が第一位で約12億8400万人。 今や世界共通語としての地位を築きつつある英語は第三位。 ただし、第二言語や外国語として英語を話す人口を含めると、その数は15億人にも上ります。 それでは、2018年現在の需要トップ10はどのプログラミング言語でしょうか。 以下にその結果を示しますが、このランキング自体は大した重要性を持っていませんので、トリビア程度に思って頂ければと思います。 * 以下のランキングは、TIOBE、CodeLani、usersnap、hackr-blog、techpedia、styleguideを参照して作成しています。 Position Language Ratings Usage 1 Java 15.932% Server-side apps, Video games, Android apps etc. 2 C 14.282% Loe-level apps, Firmware of TVs, OS of Windows and airplanes etc. 3 Python 8.376% Web apps, Data analysis etc. 4 C++ 7.562% OS, Browsers, Banking apps, Cloud/Distributed systems, Embedded systems, Telephone switches etc. 5 Visual Basic .NET 7.127% Development of consoles, GUIs, Windows forms, Web services, Web apps 6 C# 3.455% Microsoft apps etc. 7 Javascript 3.963% Interactive elements to and from websites etc. 8 … Continue reading 自然言語学からみたプログラミング言語 Vol.1 – 世界に現存する数とその需要 –