Questions Concepts
GitHub icon

"print() debugging" in over 300 languages

by Breck Yunits

July 15, 2022 — Paul Graham—creator of Arc and Bel—started an interesting thread last month about "print() debugging".

Both experts and beginners frequently use "print() debugging".

Support for "print() debugging" is near-universal in high level programming languages. Implementations vary.

Different languages use different commands. There are a few popular patterns. Many languages have a simple global keyword like print or echo or puts. Many others don't use the global namespace and you "print() debug" via a call like console.log. Many provide multiple keywords, such as print and println—the latter a shortcut for printing a string followed by a \n.

There is also a long tail distribution of how languages let you do it. Some have special syntactic sugar, such as the code golf esolang 05AB1E ("hello world).

Below is a table of over 100 keyword(s) used to "print() debug" in over 300 languages.

You may notice there is a lack of representation of assembly languages in this list. It is often much harder to "print() debug" in low level languages than simply writing print.

Keyword Languages Count
print Python R Perl Swift Fortran Lua Dart awk PostScript SPSS Emacs Lisp Standard ML REBOL Logo Boo Io IDL Hy NewLisp Squirrel Ceylon Factor MoonScript Maxima SETL Dafny Coconut Terra Genie ALGOL 68 RATFOR Gosu Ante Jython SIL Cobra Yorick BeanShell Nit starlark Fennel Angelscript F MAXScript pyret GDScript ArkScript dyvil ProvideX Project MAC’s SYmbolic MAnipulator Locomotive BASIC Bython zenscript owen-lang A++ toy-lang Pawn SdlBasic Action Code Script QCL Battlestar Claro verve 63
println Scala Clojure Julia Kotlin Groovy V ClojureScript Ioke E Koka Scala.js carp ooc Fancy Felix Golo Frink clay Jakt Nice Vale Picat Caché Basic Afnix 24
printf C Objective-C D Maple GNU Octave CUDA Cyclone DTrace Volt zz Interactive C Interpreter muon Qore Yoix Algae Y Nymph silk Promela 19
echo PHP PowerShell Bash Nim fish J Hack Fantom Batchfile Korn shell Z shell Tea tcsh Vim script C shell MIRC scripting language 16
PRINT Lisp BASIC Common Lisp QBasic GFA BASIC BBC BASIC Applesoft BASIC BlooP Xbasic baysick ALGO Cesil 12
write Prolog VHDL Icon Pike Unicon JADE Nial ALGOL W S-algol Logtalk GAML 11
Print Mathematica Xojo Wolfram Language ISWIM LotusScript JAI AMOS Basic-256 Blitz3D holyc 10
console.log JavaScript TypeScript CoffeeScript Node.js Deno LiveScript roy cor 8
puts Ruby Tcl Crystal Monkey Euphoria Nu XOTcl 7
writeln Pascal Chapel Seed7 XL Zonnon Draco 6
System.out.println Java AspectJ Pizza concurnas 4
Console.WriteLine C# Visual Basic Oxygene BEEF 4
say Rexx NetRexx kitten Raku 4
putStrLn Haskell Idris Agda 3
print_string OCaml Reason skip 3
disp MATLAB Scilab 2
display Scheme Racket 2
printfn F# Fable 2
stdout.print Zig Wyvern 2
Out.String Oberon Oberon-2 2
put HyperTalk Turing 2
std::cout C++ 1
fmt.Println Go 1
println! Rust 1
io:format Erlang 1
Text_IO.Put_Line Ada 1
displayNl Smalltalk 1
IO.puts Elixir 1
WriteLn Delphi 1
$display Verilog 1
WriteString Modula-2 1
OutText Simula 1
dbms_output.put_line PL/SQL 1
printLine Self 1
display dialog Applescript 1
Serial.println Arduino 1
stdout.printf Vala 1
trace ActionScript 1
Response.Write ASP 1
IO.print Wren 1
MsgBox AutoIt 1
call void [mscorlib]System.Console::WriteLine CIL 1
sys->print Limbo 1
write.full.string Occam 1
io:println Ballerina 1
prn Arc 1
System.Console.WriteLine Nemerle 1
postln SuperCollider 1
jlog Opa 1
io.write_string Mercury 1
PrintN PureBasic 1
cfoutput ColdFusion 1
Console.OUT.println X10 1
FStar.IO.print_string F* 1
print_endline Caml 1
putchar B 1
WScript.Echo JScript 1
stream$putl CLU 1
answer LiveCode 1
#OUT Sather 1
#print Lean 1
draw_text GML 1
Stdout Miranda 1
crLog Pharo 1
console.loge Dogescript 1
System.Console.Write J# 1
env.out.print Pony 1
MessageBox PowerBuilder 1
standard-output ISLISP 1
document.write Objective-J 1
out_string Classroom Object Oriented Language 1
Scream Rockstar 1
System.print gravity 1
write-line CLISP 1
Refal 1
fmt.println odin 1
.print Lisaac 1
$print Neko 1
WriteF Amiga E 1
PrintLn eC 1
output: Rapira 1
$console:line Parser 3 1
PRINTF Action! 1
hodor.hod Hodor 1
player:tell MOO 1
bprint QuakeC 1
Show OX 1
io::println Whiley 1
pr Shen 1
SysLib.writeStdout EGL 1
traceln monte 1
message Uniface 1
Logger.log Google Apps Script 1
ксива.малява YoptaScript 1
Message 1C Enterprise Script 1
Write Caché ObjectScript 1
escribir latino 1
Qout XBase++ 1
TextOut Not eXactly C 1
writeLine elena 1
Println Orc 1
Text XPL0 1
IO.write Zimbu 1
Console.println Ferite 1
stdout.putString Emerald 1
System.puts Virgil 1
Console.printLine Frost 1
_printf ceu 1
IO.Println parasail 1
Js.log Rescript 1
fmt::println Hare 1
output quorum 1
Analyze this data yourself in Ohayo

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Traffic · Traffic Today · Day 305 · · Logout