Become a sponsor to Aldrin Mathew
I believe qat
is a fresh approach to systems programming. The language is envisioned to be a superfast, modern systems language for creating efficient and maintainable software. It takes a fresh and simpler approach to memory management, without taking away the control from the programmer. No garbage collection, reference counting or borrow checker, but no manual memory management necessary either. How about that?
Initial inspiration & current state
My initial goal was to create a systems language as performant as C++, but was easy to work with and without a lot of implicit behaviours. I belive that qat
is already close to that concept. However, as more effort went into the language, the language became comfortable to code in, with necessary convenience that doesn't compromise on performance. Eventually, a simpler way of managing memory became part of the design of the language. This feature is in the prototype stage currently, and will be implemented in the upcoming months. The following are the existing features:
- Resource Acquisition Is Initialisation (RAII) via Constructor & Destructor
- Value Semantics
- References & Pointers
- Copy & Move semantics via Copy/Move constructors and Copy/Move assignment operators
- Custom types (Classes) with method support
- Global Variables and Static Member Fields
- Async Await
- Built-in optional type
maybe
&future
viapthread
library - Heap allocation
- Constructor overloading
- Modules & Modular build system with static and shared library build support
- And so much more...
Why sponsor?
The importance of the sponsorship comes into play because the entire project is funded by my own time and resources. This fresh approach to programming deserves more attention, but for that to happen, the project needs my complete attention to begin with. I obviously want the project to have enough backing so that I won't go bankrupt supporting the project. At the time of writing this, it has been 11 months since the initial commit of the compiler repository, and I have already spent 1300+ hours for the project. For a 40 hour work week, a person clocks in about 2080 hours in a year. So I have spent about 65% of the average time that such an employee spends for his company. If I am having a full-time job while maintaining the language, I won't be able to give as much attention as I want to, and that's personally painful. So ideally the goal of the sponsorship at this moment is to at least come close to the average salary of a programmer in India. At the time of writing this, I have already quit my full-time job to focus only on the language.
- The direct costs at this moment are for hosting the server and website for qat. Eventually the hosting and infrastructure for the library/package ecosystem will also be part of this.
- A minimum income for me. I don't expect monetary benefits from the project, however I also don't want to burn money and be in debt, especially because I can't afford to do that.
Who am I?
I am Aldrin Mathew, from Kerala, India. I initially learnt C++11 in 2014 & 2015 in school, but as you may have guessed, not enough to be able to create anything useful in it. As an example, we didn't even get to learn about namespaces. In December 2020, I got started with Flutter and Dart and got back into the world of programming. A few months after that I looked into the latest standard of C++ and started learning it on the side. I have had the desire to create my own language for a few months at that point, so I started plans for a language soon after. At last, in November 2021, I started working on qat. I have been learning both C++20 and the LLVM C++ API since then, and it hasn't been easy. Especially because I am a self-learner. But now, qat has Value semantics, References & Pointers, Copy & Move semantics, RAII, built-in optionals and futures, easier conversion between types, tagged loops, pattern matching and much more.
Featured work
-
qatlang/qat
Closer to your machine's heart. Envisioned to be a Superfast, modern systems language for efficient & maintainable code. @AldrinMathew
-
AldrinMathew/stopmagic
Stopmotion addon for Blender that helps you create amazing animations faster and easier than ever before... from @AldrinMathew
Python 90 -
qatlang/docs
Documentation for the qat programming language...
HTML 2 -
AldrinMathew/turbo
A simple, efficient state management solution for Flutter...
Dart 6 -
qatlang/qat-vscode
Official analysis, formatting and highlighting support for the Qat language in VSCode...
TypeScript 1 -
AldrinMathew/integer.dart
Dart's native integers in custom bit-width formats like i2, i4, i8, i16, i32, ix and u1, u2, u4, u8, u16, u32, ux...
Dart 3
0% towards 10 monthly sponsors goal
Be the first to sponsor this goal!
$1 a month
Select- Get a sponsor badge on your profile &
sponsor'kitten
role in Discord
Thank You π€
$10 a month
Select- Get your name added to the repository of any one of my public projects
sponsor'jaguar
role in Discord
π Thank You!!