Skip to content

Supported languages

LCOJ can judge submissions in 56 programming languages:

Ada, Assembly (x64/x86), AWK, Brain****, C (Clang/GCC), C#, C++14 (Clang/GCC), C++03/11/17/20, C11, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, INTERCAL, Java 8/latest, Kotlin, Lean 4, Lisp, LLVM IR, Lua, NASM, NASM64, OCaml, Pascal, Perl, PHP, Pike, Prolog, PyPy 2/3, Python 2/3, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, V8 JavaScript, Visual Basic, Zig.

The languages most widely used in competitive programming:

  • Python 3: Easy to learn, simple syntax
  • C++: Fast, powerful, and the most popular
  • Java: Stable, with extensive libraries
  • C: Fast and close to the hardware
  • Pascal: Easy to learn for beginners

C++ versions

LCOJ supports several C++ versions:

  • C++03: Legacy version
  • C++11: Adds auto, lambdas, range-based for
  • C++14: Improvements over C++11
  • C++17: Adds structured bindings, if constexpr
  • C++20: Adds concepts, ranges, coroutines

Recommendation: Use C++17 or C++20 for the latest features.

Notes

  • Some less commonly used languages may have undiscovered bugs
  • If you run into problems with any language, please report a bug
  • See the full list of languages on the runtimes page