• Stars
    star
    1,525
  • Rank 30,714 (Top 0.7 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ć programming language. Transpiling to C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript and OpenCL C.

Travis CI GitHub Actions codecov

Ć Programming Language

Ć is a programming language which can be translated automatically to C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript and OpenCL C. Instead of writing code in all these languages, you can write it once in Ć:

public class HelloCi
{
    public static string GetMessage()
    {
        return "Hello, world!";
    }
}

Then translate into target languages using cito on the command line:

cito -o hello.c hello.ci
cito -o hello.cpp hello.ci
cito -o hello.cs hello.ci
cito -o hello.d hello.ci
cito -o HelloCi.java hello.ci # Java enforces filenames for public classes
cito -o hello.js hello.ci
cito -o hello.py hello.ci
cito -o hello.swift hello.ci
cito -o hello.ts hello.ci
cito -o hello.d.ts hello.ci # TypeScript declarations only
cito -o hello.cl hello.ci

The translated code is lightweight (no virtual machine, emulation nor dependencies), human-readable and fits well with the target language, including naming conventions and documentation comments.

Ć is not a general-purpose programming language. Instead, it is meant for implementing portable reusable libraries.

See Getting Started.