Cilia

This is a collection of ideas for a language that is based on C++, but with

Cilia is mainly a new syntax for C++, so it has the same core features:

Furthermore it is a collection of – in my opinion – quite obvious ideas. And mostly taken from other programming languages, of course.

Currently it is more of a wish list, a “thought experiment”. But a transpiler seems to be feasible (like Herb Sutter is doing it with Cpp2). In the long run one could imagine a Cilia parser/frontend, producing an AST for the common backend of an existing C++ compiler (like clang).

Cilia by Example

Corresponding examples for C++, Cpp2, Carbon, Rust, Swift, Kotlin, Java, and C# are given separately.

CamelCase Style

Roughly in the style of Qt and Java (or JavaScript, TypeScript, Kotlin, Swift).

No Trailing Semicolons

For better readability.
When we are at it, after a quick look at Python, Kotlin, Swift, JavaScript, Julia.

Better Readable Keywords

C++ has a “tradition” of complicated names, keywords or reuse of keywords, simply as to avoid compatibility problems with old code, which may have used one of the new keywords as name (of a variable, function, class, or namespace). Cilia can call into C++ (and vice versa), but is a separate language, so its syntax does not need to be backwards compatible.