A language should not be complicated. (Wish Odersky, capable as he is, kept working on his much-verlooked TurboModula).
Simple:
- Scheme
- C
- Pascal
- Go
- Lua
Complicated
- PL/1
- C++ 2024
- Scala 3
Still borderline or beyond?
- Rust
- Java (>850 pp. lang. specification...)
Extremely weird list.
The Scala spec is much shorter than the C spec… Also it's of course much shorter than Rust, where nobody has a real issue with its complexity, at least nobody is complaining really loudly.
The C and Go specs are actually extremely involved, long, and complex given that the languages almost don't have any features at all.
But comparing language specs isn't a 100% fair metric.
One should instead look at formal language semantic definitions written all in the same way.
If you look at these you will for example learn that the C semantics are much more complex than for example Java.
Check out https://kframework.org/ to learn more. (A list of semantics for different languages can be found on the "projects" sub page).