X is a statically typed compiled programming language designed for system development, building maintainable and reliable software. The purpose of X is to keep functionality high while maintaining a simple form and readability. It guarantees memory safety and does not contain undefined behavior.
The memory safety and the memory management. A major challenge in the C and C++ or similar programming languages. X guarantees memory safety and uses reference counting for memory management. An account-allocation is automatically released as soon as the reference count reaches zero. There are no dangling pointers, and accessing a null pointer will obviously get you an error.- Instant automatic memory initialization
- Bounds checking
- Null checking
- Simplicity and maintainability
- Fast and scalable development
- Performance-critical software
- Memory safety
- As efficient and performance as C++
- High C++ interoperability
It is the original compiler of the X programming language.
The features that XXC has is a representation of the official and must-have features of the X programming language. XXC, the reference compiler for X, is still in development. Currently, it can only be built from source. Due to the fact that it is still under development, there may be changes in the design and syntax of the language.
It is planned to rewrite the compiler with X after reference compiler reaches sufficient maturity. XXC has or is very close to many of the things X was intended to have, such as memory safety, properties, structures with methods and generics.
Currently, project structure, its lexical and syntactic structure has appeared. However, when the reference compiler is rewritten with X, it is thought that AST, Lexer and some packages will be included in the standard library. This will be a change that will cause the official compiler's project structure to be rebuilt. The reference compiler will probably use the standard library a lot. This will also allow developers to quickly develop tools for the language by leveraging X's standard library.
All documentation about XXC (naturally X programming language) is on the website.
See Documentations
Operating System | Transpiler | Compiler |
Windows | Supports | Not supports yet |
Linux | Supports | Not supports yet |
MacOS | Supports | Not supports yet |
Website documentation for install from source.
There are scripts prepared for compiling of XXC.
These scripts are written to run from the home directory.
build
scripts used for compile.
brun
scripts used for compile and execute if compiling is successful.
XXC aims to have a single main build file.
XXC is in development with the Go programming language.
go build -o xxc.exe -v cmd/xxc/main.go
go build -o xxc -v cmd/xxc/main.go
Run the above command in your terminal, in the XXC project directory.
Operating System | State |
Windows |
|
Ubuntu |
|
MacOS |
|
Thanks for you want contributing to XXC!
The XXC project use issues for only bug reports and proposals.
To contribute, please read the contribution guidelines from here.
To discussions and questions, please use discussions.
The XXC and standard library is distributed under the terms of the BSD 3-Clause license.
See License Details