List of programming languages that do not use curly braces
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.
The list
Ada
APL (prior to dfns)
Assembly (specific dialects may differ)
BASIC
Datalog
Lisp (specific dialects may differ)
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
Smalltalk (some newer dialects have a notation for “dynamic arrays” that uses curly braces)
SQL
Honourable mentions
Some languages do syntactically use curly braces, but they are rarely used in practice.