Curly braces, like semicolons, are very widely used in the syntax of programming languages. One vector is through the syntactical dominance of C-like languages, where braces are used for grouping statements and declarations. C inherited this notation from B, which got it from BCPL, although braces were often written as $( and $) due to character set limitations. However, even languages that inherit from a completely different syntactical tradition often use curly braces, as for example in Python, which uses them for dictionary literals. This is not particularly surprising, as there are not that many paired ASCII characters to pick from: only [] , () , {} , and <> .

This list is an attempt at cataloguing the languages that do not use curly braces for any purpose. I do not mean this list (or the other one) as a critique (there is nothing wrong with using curly braces, even my own language uses them). This list is assembled solely to satisfy my own curiosity. Most of the languages on this list are from before C and Unix took over the world.

Do you know of any languages I’ve missed? Please tell me! I am not terribly interested in listing hundreds of esoteric languages or variants of dead mainframe languages, so I reserve the privilege to only include notable (or recent, or interesting) ones. I also do not intend to include languages written for machines where curly braces did not exist, unless particularly notable (such as by having actually survived). The following should at least be complete for the languages on the TIOBE Top 50.

Overall, my impression is that while very few languages do not use semicolons, there are many languages that do not use curly braces.

Ada

APL (prior to dfns)

Assembly (specific dialects may differ)

BASIC

Brainfuck

COBOL

Datalog

ELAN

FORTRAN

IMP 77

Jam

Lisp (specific dialects may differ)

Lucid

Pascal (recent versions use curly braces for comments, but these were written with (* and *) in ancient times, likely because of character set restrictions)

PL/I

Rapira

Rexx

RPG

Smalltalk (some newer dialects have a notation for “dynamic arrays” that uses curly braces)

SNOBOL

SQL

Some languages do syntactically use curly braces, but they are rarely used in practice.