プログラミング言語の速さランキング

## プログラミング言語の速さのランキングのつけ方

AtCoderの[ABC231のA問題](https://atcoder.jp/contests/abc231/tasks/abc231_a)をACした提出の中で一番速い人の時間を見ます。

### なぜ、[ABC231のA問題](https://atcoder.jp/contests/abc231/tasks/abc231_a)を選んだか

この問題のやることは、入力した値を100で割って、出力するという簡単なアルゴリズムであるため、アルゴリズムによって時間が大きく変わる可能性は低いと判断したからです。「時間が大きく変わっても、一番速い人の時間を見れば大丈夫なのでは」と思う人もいるかもしれません。しかし、マイナーな言語の場合、その言語でACしている人が1人だけということも考えられます。そのため、アルゴリズムによって、時間を左右されない簡単な問題にしようと思いました。

### 注意点

**この問題は入力する時間・その値を100で割る時間・それを出力する時間の3つの時間しか計れません。**

そのため、その3つのものに特化したものであれば、本来処理速度が遅い言語でも、ランキング上位に入る可能性があります。あくまでも参考程度にしてください。

また、**この投稿した時点の情報であるため、1年後くらいにはランキングが入れ替わる可能性は高いです。**

その2点に注意してランキングを見てください。

## ランキング

| 順位 | 時間(ms) | プログラミング言語 |
|:-:|:-:| :-: |
| 1 | 0 | C, C++, Zig |
| 2 | 1 | ><>, D, Go, Haskell, Nibbles, Nim, Pascal, Rust, Scala, V, Whitespace, dc |
| 3 | 2 | Swift |
| 4 | 3 | COBOL - Fixed, Lua, Perl |
| 5 | 5 | Common Lisp, Fortran |
| 6 | 6 | OCaml, bc |
| 7 | 7 | Ada2012 |
| 8 | 8 | Crystal, Python |
| 9 | 10 | AWK, Brainfuck |
| 10 | 11 | Sed |
| 11 | 13 | PHP |
| 12 | 19 | Dart |
| 13 | 20 | Bash |
| 14 | 22 | Vim |
| 15 | 24 | Scheme |
| 16 | 26 | Forth |
| 17 | 29 | Prolog |
| 18 | 37 | C# |
| 19 | 39 | JavaScript, TypeScript |
| 20 | 43 | Java, Ruby |
| 21 | 44 | Kotlin |
| 22 | 53 | F# |
| 23 | 82 | Visual Basic |
| 24 | 116 | R |
| 25 | 163 | Erlang |
| 26 | 164 | Julia |
| 27 | 185 | プロデル |
| 28 | 345 | Elixer |
| 29 | 660 | PowerShell |
| 30 | 1066 | SageMath |
| 31 | 1661 | Octave |

## ランキングで登場したプログラミング言語のバージョンとコードのリンク

| プログラミング言語 | バージョン | コードのリンク |
|:-:|:-:| :-: |
| C | gcc 12.2.0 | https://atcoder.jp/contests/abc231/submissions/45347451 |
| C++ | gcc 12.2 | https://atcoder.jp/contests/abc231/submissions/45331847 |
| Zig | Zig 0.10.1 | https://atcoder.jp/contests/abc231/submissions/52120445 |
| ><> | fishr 0.1.0 | https://atcoder.jp/contests/abc231/submissions/49207216 |
| D | LDC 1.32.2 | https://atcoder.jp/contests/abc231/submissions/48061074 |
| Go | go 1.20.6 | https://atcoder.jp/contests/abc231/submissions/45996020 |
| Haskell | GHC 9.4.5 | https://atcoder.jp/contests/abc231/submissions/46696378 |
| Nibbles | (literate form) (nibbles 1.01) | https://atcoder.jp/contests/abc231/submissions/47418722 |
| Nim | Nim 1.6.14 | https://atcoder.jp/contests/abc231/submissions/46883345 |
| Pascal | FPC 3.0.4 | https://atcoder.jp/contests/abc231/submissions/27853241 |
| Rust | rustc 1.70.0 | https://atcoder.jp/contests/abc231/submissions/46054572 |
| Scala | Scala Native 0.4.14 | https://atcoder.jp/contests/abc231/submissions/46696397 |
| V | V 0.4 | https://atcoder.jp/contests/abc231/submissions/46902779 |
| WhiteSpace | whitespacers 1.0.0 | https://atcoder.jp/contests/abc231/submissions/48680315 |
| dc | dc 1.07.1 | https://atcoder.jp/contests/abc231/submissions/50542665 |
| Swift | swift 5.8.1 | https://atcoder.jp/contests/abc231/submissions/46481689 |
| COBOL - Fixed | OpenCOBOL 1.1.0 | https://atcoder.jp/contests/abc231/submissions/32118668 |
| Lua | Lua 5.3.5 | https://atcoder.jp/contests/abc231/submissions/27982590 |
| Perl | 5.26.1 | https://atcoder.jp/contests/abc231/submissions/27893131 |
| Common Lisp | SBCL 2.3.6 | https://atcoder.jp/contests/abc231/submissions/45697931 |
| Fortran | gfortran 12.2 | https://atcoder.jp/contests/abc231/submissions/52023832 |
| Ocaml | 4.10.0 | https://atcoder.jp/contests/abc231/submissions/27887057 |
| bc | 1.07.1 | https://atcoder.jp/contests/abc231/submissions/45040454 |
| Ada2012 | GNAT 9.2.1 | https://atcoder.jp/contests/abc231/submissions/27913650 |
| Crystal | 0.33.0 | https://atcoder.jp/contests/abc231/submissions/28675422 |
| Python | CPython 3.11.4 | https://atcoder.jp/contests/abc231/submissions/46949395 |
| AWK | GNU Awk 5.0.1 | https://atcoder.jp/contests/abc231/submissions/46756973 |
| Brainfuck | bf 20041219 | https://atcoder.jp/contests/abc231/submissions/27824966 |
| Sed | 4.4 | https://atcoder.jp/contests/abc231/submissions/30535287 |
| PHP | php 8.2.8 | https://atcoder.jp/contests/abc231/submissions/51190071 |
| Dart | 2.7.2 | https://atcoder.jp/contests/abc231/submissions/28331888 |
| Bash | 5.0.11 | https://atcoder.jp/contests/abc231/submissions/33341973 |
| Vim | 8.2.0460 | https://atcoder.jp/contests/abc231/submissions/34436881 |
| Scheme | Gauche 0.9.9 | https://atcoder.jp/contests/abc231/submissions/39454856 |
| Forth | gforth 0.7.3 | https://atcoder.jp/contests/abc231/submissions/38290599 |
| Prolog | SWI-Prolog 8.0.3 | https://atcoder.jp/contests/abc231/submissions/37240720 |
| C# | Mono-mcs 6.8.0.105 | https://atcoder.jp/contests/abc231/submissions/27816100 |
| JavaScript | Node.js 18.16.1 | https://atcoder.jp/contests/abc231/submissions/49643952 |
| TypeScript | Node.js 18.16.1 | https://atcoder.jp/contests/abc231/submissions/48917587 |
| Java | OpenJDK 17 | https://atcoder.jp/contests/abc231/submissions/48668110 |
| Ruby | ruby 3.2.2 | https://atcoder.jp/contests/abc231/submissions/49635908 |
| Kotlin | Kotlin/JVM 1.8.20 | https://atcoder.jp/contests/abc231/submissions/48606642 |
| F# | .NET 7.0.7 | https://atcoder.jp/contests/abc231/submissions/49225251 |
| Visual Basic | .NET Core 3.1.101 | https://atcoder.jp/contests/abc231/submissions/40345582 |
| R | GNU R 4.2.1 | https://atcoder.jp/contests/abc231/submissions/45993023 |
| Erlang | 22.3 | https://atcoder.jp/contests/abc231/submissions/37582565 |
| Julia | Julia 1.9.2 | https://atcoder.jp/contests/abc231/submissions/47978437 |
| プロデル | mono版プロデル 1.9.1182 | https://atcoder.jp/contests/abc231/submissions/49522593 |
| Elixir | 1.10.2 | https://atcoder.jp/contests/abc231/submissions/27850403 |
| PowerShell | PowerShell 7.3.1 | https://atcoder.jp/contests/abc231/submissions/47109925 |
| SageMath | SageMath 9.5 | https://atcoder.jp/contests/abc231/submissions/47290475 |
| Octave | 5.2.0 | https://atcoder.jp/contests/abc231/submissions/31125799 |

## おわりに

いろんな言語のコードを見てみると面白い言語がたくさんみつかりました。

例えば、whitespaceとか、プロデルとかです。

これからもたくさんの言語に触れていきたいと思います。

---

よかったらいいねとフォローをお願いします。フォローされたらフォロー返しします。