Original link: reddit
1/2 years ago I started creating a new programming language.
- Safe (memory-safe, type-safe, null-safe, index-safe etc.)
- Fast (AOT compiler makes native code, dynamic casts – only couple of machine code instructions, interface method calls are about as fast as class method calls)
- Small (hello-world app is a 20Kb windows executable with no extra dependencies, soon will be smaller).
- Totally protected from memory leaks (unlike Java, Rust etc.)
- Frees objects at predictable times (as soon as they are no longer needed), so object lifetimes control resources (files, sockets etc.) no manual dispose/finalization needed.
- Does not use Garbage collector, which means:
- no random freezes
- no memory and CPU overheads
- its apps are virtual memory friendly
- Automates all routine operations on objects (copy, dispose, pass to another thread, freeze etc).
- Multithreaded without data races.
Argentum is an experimental language. Much remains to be done: numerous code generation optimizations, bug fixes, test coverage, stack unwinding, improved debugger support, syntactic sugar, etc., but it is rapidly evolving, and the listed improvements are in the near future.
Any questions and suggestions are warmly welcomed.