Hello! I am Kevin Benavides. I am a programmer focused on the development, design, and scalability of web/apps/APIs and the design and construction of compilers for dialects or programming languages such as C, Rust, or C++ with LLVM, QBE, or GCC.
On the other hand, I speak languages, such as Spanish (native) and English (B2), corresponding to the CEFR. I am very determined when there are pending tasks to do, in addition to being patient and a good conversationalist with people. Some facts about this are that I started in the world of programming more than 6 years ago.
On the other hand, I am currently developing my own programming language powered by LLVM and Q# for traditional and quantum programming.
- Everything you will see in this place is entirely studied in a completely self-taught way. -
The Thrush Programming Language. A programming language dedicated to creating maintainable and modular software.
- High level abstraction.
- Non-explicit cast for primitive types.
- Strongly statically typed.
- Strongly in OOP paradigm.
- Automatic memory management.
- Partial memory safety.
- Ahead of time compilation.
- Faster compilation times.
- Faster as C.
- Compiled to machine code.
- Support for quantum programming for quantum machines using qubits.
-
With LLVM as the main code generator, GCC planned for the future makes it possible for Thrush to compete with languages like Rust, Swift, Odin, and Jai in its league in the bright future.
-
The Quantum Q# backend is used only when the quantum programming language is enabled; compile or interpret it for quantum machines using qubits.
With the compiler (thrushc)...
thrushc fibonacci.th -o fibonacci && ./fibonacci
With the package manager... (Coming soon)
thorium run
fn print(fmt :: str) s32 @public @ignore @extern("printf");
fn fibonacci(n :: u64) u64 @alwaysinline @strongstack @hot {
if n <= 1 {
return n;
}
local fib_left: u64 = fibonacci(n - 1);
local fib_right: u64 = fibonacci(n - 2);
return fib_left + fib_right;
}
fn main() {
local fib: u64 = fibonacci(10);
print("'10' fibonacci: %ld", fib);
}