Volant is a general-purpose data-oriented high-level programming language with a focus on speed, power, asynchronicity, and concurrency. Volant is designed with simplicity in mind, allowing both low-level and high-level features with simple and easy to use syntax. Volant is transpiled to c with no or a very thin layer of abstraction over the code you write, which makes it as fast as c in almost all cases.
The language was designed and developed solely by me.
Try it out
Step 1: Fork this repl.
Step 2: Edit the file named
main.vo and press the run button to try it out.
You can also try Volant on our online Volant playground here.
Any constructive feedback is appreciated and thanks for checking it out.
Nice job, but isn't this really just a modification of the C++ syntax with custom data types?
@AmazingMech2418 Well, no.
Unlike CPP, Volant isn't object-oriented. You understand how big of a difference that is, right? I don't even need to say anything more but,
Volant has garbage collection.
Volant support for closures is far better than CPP.
Volant doesn't have exceptions (errors should be handled by returning a tuple).
Volant has an in-built event system and thread-management system (it uses libuv and its not in a usable state yet).
Volant has (not yet) async/await and concurrency primitives.
Volant "syntax modifications" aren't just randomly chosen. Every difference from the c syntax has a very specific purpose. For example, Volant's version of CPP's
int ((*var)(int, int))(int, int) is
var:  * func(int, int) (func (int, int) int). You can clearly see the superiority of Volant syntax here. Volant syntax is chosen very precisely to be as simple, clean, and readable as possible.
@AmazingMech2418 Volant uses c as an intermediate representation and there are countless other languages that do the same. No sane person would ever write a compiler to asm if he isn't immortal or doesn't have a team of 20 devs.
Also, it would have been an absolute waste of time to write a compiler to asm because Volant does not need any more access to the machine than what c gives.
@AmazingMech2418 An interpreter usually isn't very fast and most people use an intermediary like C or C++. Not everyone knows assembly good enough to generate fast, portable code.
What I call a fake language is when people do this:
class Console: def writeln(self, str): print(str) console = Console() console.writeln("Woo look at me im a new language based on python")