Yes, I created my own turing-complete programming language at age 15, I decided that Python was too slow and C++ was too verbose — so I started building my own programming language.
Competitive programmers optimize runtime.
I wanted to optimize the competitor’s time too—so, at 15, I built my own working, Turing-complete programming language - The Pseudo Programming Language
I began competitive programming with Python, then moved to C++. Python let me express ideas clearly, but some problems demanded more performance. C++ gave me that performance, yet I often spent too much attention on ceremony and details I had already solved conceptually.
I kept thinking: in a contest, we should compete through logic and mathematics—not fight the language or its compiler.
So I built TPPL: The Pseudo Programming Language.
It is “a language for competitive programming that knows its purpose.”
And it is a real compiler project, not a regex-based façade:
• A lexer and parser, declaration collection, entry-point validation, name resolution, type checking, and control-flow checking.
• An owning Lowered IR and deterministic C++20 backend.
• A runtime, reliable g++ toolchain layer, and a fresh 81/81 CTest run covering recovery, determinism, malformed input, and generated-code execution.
The idea appeared about eight months ago, while I was switching from Python to C++. Within weeks, it had a concept and a name. But I did not know enough C++ to build it properly, so I spent months learning through smaller projects.
Then I gave myself a deadline: finish a working version before my 16th birthday.
I started with the specification and grammar, then sat down in front of an almost blank repository and began building. Many days meant four to six hours of work; sometimes I stayed at my laptop until 3 a.m. I took breaks when I had to, but the idea kept pulling me back. In total there is 39 thousand lines of code.
The hardest point came after a vacation, when school left me much less time. I saw only two weeks remaining. For one day, I genuinely thought I had missed my goal.
I decided to finish anyway.
More coding, redesigning, testing, and fixing followed. When I realized I would make the deadline, the exhaustion turned into euphoria.
Finishing something meaningful and difficult that I could not have built only months earlier is one of the best feelings I have experienced.
Today, TPPL supports top-level functions, initialized locals, assignments, if/else, while, ranges and for-each, strings, chars, recursive vectors, checked indexing, and runtime I/O. It emits C++20 for g++.
It is still an alpha. Globals, nested functions, and uninitialized locals are not emitted yet.
I have even used TPPL to write a small Brainfuck interpreter.
Before turning 16, I wanted to prove to myself that I could complete something this ambitious. Now it exists, it works, and I am going to keep developing it.
Website: https://koljapl.github.io/pseudo/ Source: https://github.com/koljaPl/pseudo-programming-language
If the idea interests you, take a look. If you want to support the project, a GitHub star would genuinely mean a lot to me.