Skip to content
View DevCheckOG's full-sized avatar
🥽
🥽

Block or report DevCheckOG

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
DevCheckOG/README.md

Hello, I'm Kevin Benavides!

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. -


Critical Systems/Compilers Development

Rust C LLVM GCC

Web/App/APIs Development

Frontend Languages/Technologies

JS
HTML5 CSS3 Streamlit

Backend Languages/Technologies

Rust Python Java JS TypeScript
FastAPI Fastify Scrapy Socket.io Gunicorn Aiohttp Bun DenoJS NodeJS npm Cloudflare Firabase Supabase JWT

Databases

MongoDB MySQL

Testing

Jasmine Selenium Swagger PyTest

Operating Systems

Linux Windows MacOS

Tools

Intellij PyCharm Visual Studio Code Microsoft Office GNU Bash Netlify Github Pages Markdown Windows Terminal Notion Git Render Inkscape Figma Vercel Gradle Pypy The Onion Routing Gitlab Postman


Main Projects

Thrush Programming Language

logo

The Thrush Programming Language. A programming language dedicated to creating maintainable and modular software.

Philosophy

The Thrush Programming Language aims to simplify the inherently tedious process of programming in a systems language, streamlining the experience while maintaining the essence of a proper systems language.

Introducing concepts such as:

  • Memory safety.
  • Simple error handling.
  • Strong Foreign Function Interface (FFI).
  • Simplified low-level memory control.
  • Compile-time execution with Just-In-Time compiler.
  • Automatic deallocation when reaching EFC.
  • Automatic construction of destructors.
  • Reference and hidden dereference systems.

Features

  • 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.
  • Just in time compilation.
  • Faster compilation times.
  • Faster as C.
  • Compiled to machine code.

Example - Fibonacci sequence

Compiler

thrushc fibonacci.th -o fibonacci && ./fibonacci

Package Manager

thorium run

Code

fn print(fmt :: str) s32 @public @ignore @extern("printf");

fn fibonacci(n :: u64) u64 @alwaysinline @strongstack @hot {

    if n <= 1 {
        return n;
    }

    return fibonacci(n - 2) + fibonacci(n - 1);

}

fn main() { 

    for local i: u64 = 0; i < 10; i++; {

        print("fibonacci of '%ld': %ld\n", i, fibonacci(i));

    }

}

Pinned Loading

  1. thrushlang/thrushc thrushlang/thrushc Public

    The Thrush Programming Language. A programming language dedicated to creating maintainable and modular software.

    Rust 16 3

  2. thrushlang/thorium thrushlang/thorium Public

    The package manager for Thrush Programming Language.

    Rust 1

  3. thrushlang/toolchains thrushlang/toolchains Public

    Standard LLVM/Clang pre-optimized toolchains for the Thrush programming language.

    Python 1

  4. thrushlang/techniques thrushlang/techniques Public

    We will explain in detail and concisely the techniques currently used by compiler or language approach, from the beginning of their development to the present day.

    1

  5. thrushlang/quantum thrushlang/quantum Public

    Extending the Thrush programming language for quantum programming.

    1

  6. LLVMIRCourse LLVMIRCourse Public

    Basic course on the LLVM intermediate language (IR) as an introduction to code generation for AOT compilers, JIT compilers, and for creating production-ready programming languages.

    2