For years, I have been building software and systems using languages like Go, Rust, C/C++, Java, and JS. Working across so many different ecosystems teaches you a lot. You start to see exactly what makes a language a joy to use, and what creates unnecessary cognitive load. A few months ago, I decided to do something I had never done before: write my own systems programming language from scratch. It is called Vex. This is my first time designing a language and building a compiler. My goal was to combine the bare-metal control of C/C++, the memory safety of Rust, and the clean, atomic developer experience of Go. Instead of forcing developers to fight with a borrow checker or manage manual memory allocations, I wanted to see if the compiler could handle it autonomously. By analyzing the lifecycle of the code, Vex decides the optimal memory strategy under the hood, allowing you to focus purely on strict typing and clean architecture. It has been a massive learning curve. Vex is definitely not production-ready yet, but the core compiler, the LSP, and the testing pipeline are actually working. I wrote an article on Medium about this entire journey, the architectural decisions, and why I believe we need compilers that truly understand our code. If you are interested in language design, systems programming, or just building things from scratch, I would love to hear your thoughts. Website: https://vex-lang.org Read the full article:https://lnkd.in/dsCeWYDj
Is the compiler open source? I only see docs
This is a very ambitious project, and I really like the overall vision. The focus on preserving semantic information and aiming for safer, high performance code makes sense and the heterogeneous backend idea is especially interesting. I know you're in really early stages given the scope of the project, but the real test and key to adoption will be tooling maturity (debuggers, optimizers, IDEs). And at some point you'll have to rewrite the vex compiler in vex.😏 Best of luck