
A programming language from another universe.
Darkmatter is an open-source platform agnostic modern Programming Language.
It is syntatically similar to Java/C# with the performance and power of C/C++.
Darkmatter compiles directly to a native platform/architecture binary or JVM byte-code.

A programming language from another universe
Darkmatter is an open-source platform agnostic modern Programming Language.
It is syntatically similar to Java/C# with the performance and power of C/C++.
Darkmatter compiles directly to a native platform/architecture binary or JVM byte-code.
Why Darkmatter?
Platform Agnostic
Darkmatter is not owned by a large tech monopoly, it is an indepdendent community-developed language.
Unlike C#, Darkmatter:
- Does not require a bloated and platform-exclusive .NET CLR to function.
- Is not biased toward any platform or architecture.
- Is happy to support your platform or achitecture, the more the merrier.
Lightspeed Execution
Unlike other languages like Java, Kotlin, C# or any interpreted langauge like Python, Darkmatter is focused on being a fast, efficient, and effective core-language. Effectively fast enough to replace your C# and C++ projects.
LLVM AoT compilation:
- Darkmatter compiler parses/tokenizes/lints source-code into an AST.
- AST is analyzed and depending on the compiler flags goes through an initial optimization stage.
-
AST is then converted to LLVM-IR assembly files (
.ll
). - Finally, LLVM-IR is then optimized and assembled into a binary of your choice. Whether that be a native library, native executable, or a cross-compiled binary for another platform/architecture.
JVM JIT compilation:
- Fast for debugging large projects without having to change the source-code.
- Expect 1:1 LLVM AoT to JVM JIT behavior.
Simple but Powerful
Darkmatter has the leverage of a lower-level language like C while having the syntax of a high-level langauge.
Here are just a few of the components within Darkmatter's Standard Libary:
- Core – Low-level System API/ABI bindings, Console, Process.
- Types – Primitive data-types (scalars, booleans, string) and Object data-structures.
- FFI – Foreign Function Interface bindings to other languages, such as C.
- Filesystem – API bindings to the underlying file-system (if applicable).
- Network – Networking with sockets, epoll, kqueue, etc.
- Graphics – Vulkan and OpenGL bindings along with high-level abstract windowing toolkits/libraries.
- Audio – Audio bindings.