I wanted to optimize the competitor’s time too, so i created my programming language at age 15

Revision en1, by NiklasPlugin, 2026-08-29 10:34:16

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.

Tags compilers, cplusplus, compilerdesign, programminglanguages

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English NiklasPlugin 2026-08-29 10:34:30 0 (published)
en1 English NiklasPlugin 2026-08-29 10:34:16 3299 Initial revision (saved to drafts)