LoginSignup
13
4

AtCoderで使用可能なプログラミング言語が3年振りにアップデートされたので、どの言語が選ばれているか調べてみた

Last updated at Posted at 2023-08-16

Supershipの名畑です。今期アニメのLv1魔王とワンルーム勇者、展開が思ったよりもシリアス要素多めで、なかなか続きが気になります。

はじめに

久々にAtCoderについて書きます。

AtCoderユーザの皆様はすでにご存知の通り、使用できるプログラミング言語とライブラリが久々にアップデートされました。2020年以来でしょうか。
どのようにアップデートされたかは使用できる言語とライブラリの一覧をご覧ください。

このアップデートに際し、2023年8月6日に新ジャッジテストコンテスト -Algorithm-新ジャッジテストコンテスト -Heuristic-が開催されました(Rated対象ではありません)。
また、8月12日に開催されたRatedのコンテストであるAtCoder Beginner Contest 314でもアップデート後の言語とライブラリが適用されました。

今回はAtCoder Beginner Contest 314(ABC314)と新ジャッジテストコンテスト -Algorithm- でどの言語がどれだけ使われたのかを調べてみました。

抽出条件

  • コンテスト開催時間中の提出であること
  • 各ユーザのそのコンテストにおける最後の提出であること(つまり1ユーザにつき1カウント)

AtCoder Beginner Contest 314

対象データは9188件でした。

ベスト9とその他での全10項目のグラフはこちら。

abc314.png

全結果を表にしたものは下記です。

言語 ユーザ数 割合(%)
C++ 20 (gcc 12.2) 5275 57.41
Python (CPython 3.11.4) 1078 11.73
Python (PyPy 3.10-v7.3.12) 895 9.74
C++ 17 (gcc 12.2) 464 5.05
Java (OpenJDK 17) 425 4.63
C++ 23 (gcc 12.2) 296 3.22
C (gcc 12.2.0) 143 1.56
Rust (rustc 1.70.0) 118 1.28
C++ 17 (Clang 16.0.5) 73 0.79
C# 11.0 (.NET 7.0.7) 70 0.76
Python (Mambaforge / CPython 3.10.10) 52 0.57
Ruby (ruby 3.2.2) 48 0.52
C++ 23 (Clang 16.0.5) 40 0.44
Python (Cython 0.29.34) 34 0.37
Go (go 1.20.6) 34 0.37
C++ 20 (Clang 16.0.5) 29 0.32
JavaScript (Node.js 18.16.1) 25 0.27
PHP (php 8.2.8) 14 0.15
Kotlin (Kotlin/JVM 1.8.20) 12 0.13
TypeScript 5.1 (Node.js 18.16.1) 8 0.09
Haskell (GHC 9.4.5) 8 0.09
C# 11.0 AOT (.NET 7.0.7) 7 0.08
Crystal (Crystal 1.9.1) 6 0.07
Swift (swift 5.8.1) 5 0.05
Julia (Julia 1.9.2) 5 0.05
OCaml (ocamlopt 5.0.0) 3 0.03
D (DMD 2.104.0) 3 0.03
Common Lisp (SBCL 2.3.6) 3 0.03
Fortran (gfortran 12.2) 2 0.02
Visual Basic 16.9 (.NET 7.0.7) 2 0.02
Whitespace (whitespacers 1.0.0) 1 0.01
TypeScript 5.1 (Deno 1.35.1) 1 0.01
Perl (perl 5.34) 1 0.01
Brainfuck (bf 20041219) 1 0.01
F# 7.0 (.NET 7.0.7) 1 0.01
Pascal (fpc 3.2.2) 1 0.01
Bash (bash 5.2.2) 1 0.01
Lua (LuaJIT 2.1.0-beta3) 1 0.01
Scala 3.3.0 (Scala Native 0.4.14) 1 0.01
ReasonML (reason 3.9.0) 1 0.01
D (LDC 1.32.2) 1 0.01

新ジャッジテストコンテスト -Algorithm-

対象データは539件でした。

unratedなため、通常のコンテストに比べてかなり少なめです。

ベスト9とその他での全10項目のグラフはこちら。

graph.png

全結果を表にしたものは下記です。

言語 ユーザ数 割合(%)
C++ 20 (gcc 12.2) 168 31.17
Python (PyPy 3.10-v7.3.12) 105 19.48
C++ 23 (gcc 12.2) 61 11.32
Python (CPython 3.11.4) 56 10.39
Rust (rustc 1.70.0) 30 5.57
C++ 17 (gcc 12.2) 18 3.34
C# 11.0 (.NET 7.0.7) 12 2.23
Ruby (ruby 3.2.2) 8 1.48
Java (OpenJDK 17) 6 1.11
PHP (php 8.2.8) 5 0.93
C# 11.0 AOT (.NET 7.0.7) 5 0.93
Julia (Julia 1.9.2) 5 0.93
Go (go 1.20.6) 5 0.93
Python (Cython 0.29.34) 5 0.93
Haskell (GHC 9.4.5) 4 0.74
Crystal (Crystal 1.9.1) 4 0.74
C (gcc 12.2.0) 4 0.74
なでしこ (cnako3 3.4.20) 3 0.56
Python (Mambaforge / CPython 3.10.10) 3 0.56
Nibbles (literate form) (nibbles 1.01) 3 0.56
C++ 20 (Clang 16.0.5) 2 0.37
Nim (Nim 1.6.14) 2 0.37
Fortran (gfortran 12.2) 2 0.37
D (LDC 1.32.2) 2 0.37
Kotlin (Kotlin/JVM 1.8.20) 2 0.37
JavaScript (Node.js 18.16.1) 2 0.37
><> (fishr 0.1.0) 2 0.37
Brainfuck (bf 20041219) 2 0.37
Zig (Zig 0.10.1) 1 0.19
Scala (Dotty 3.3.0) 1 0.19
ECLiPSe (ECLiPSe 7.1_13) 1 0.19
D (DMD 2.104.0) 1 0.19
Koka (koka 2.4.0) 1 0.19
Elixir (Elixir 1.15.2) 1 0.19
OCaml (ocamlopt 5.0.0) 1 0.19
F# 7.0 (.NET 7.0.7) 1 0.19
TypeScript 5.1 (Deno 1.35.1) 1 0.19
R (GNU R 4.2.1) 1 0.19
Emacs Lisp (Native Compile) (GNU Emacs 28.2) 1 0.19
Bash (bash 5.2.2) 1 0.19
C++ 23 (Clang 16.0.5) 1 0.19

最後に

最新のABC314ではPyPyよりCPythonの方が使用ユーザが多いのですね。

こうやってみると、触ったことのない言語、たくさんあります。

選択肢が増えることはより裾野を広げることに繋がるのではないかと思います。アップデートはかなり大変であろうと想像できますので、関わった皆様、本当にお疲れ様でした。

宣伝

SupershipのQiita Organizationを合わせてご覧いただけますと嬉しいです。他のメンバーの記事も多数あります。

Supershipではプロダクト開発やサービス開発に関わる方を絶賛募集しております。
興味がある方はSupership株式会社 採用サイトよりご確認ください。

13
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
4