NiklasPlugin's blog

By NiklasPlugin, history, 5 weeks ago, In English

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.

  • Vote: I like it
  • -16
  • Vote: I do not like it

»
5 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by NiklasPlugin (previous revision, new revision, compare).

»
5 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

I didnt understand? What is your age?

»
5 weeks ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

After reading the whole blog, the thing that lingers in my mind is probably your age

»
5 weeks ago, hide # |
 
Vote: I like it +3 Vote: I do not like it

Hello, I have spent the summer trying to answer the same question, lol:

https://github.com/madhav-gullapalli/CPPP

I think we came to the many of the same ideas (I even made a BF interpeter as well), From the looks of thing.

Mine is more centered around CP C++ and your seems to be more python centric, I would love to hgear your taughts on my project and to see the future direction of your langugae and the fierld of CP language design.

PS I am 20.

  • »
    »
    5 weeks ago, hide # ^ |
     
    Vote: I like it +3 Vote: I do not like it

    also someone made a bachelor's thesis on this idea in 2024. See: A Programming Language for Coding Competitions,

    but his was never devloped past the prototype for all i could find.

  • »
    »
    5 weeks ago, hide # ^ |
     
    Vote: I like it 0 Vote: I do not like it

    Wow, that's so cool! I love this project! This is a really good piece of work, but I would suggest improving the architecture of the main project, moving the website to a different repository, and setting up the GitHub project itself (adding a link to the website, tags, and so on). But you’ve earned my star on GitHub! :)

    P.S.: The very first thing I wrote in my own language was also BF, hahaha. Which, btw, is one of the Turing-complete language proofs.