How to make language like Python


I want to make a language like Python, although I don’t understand Python’s file structure. And also, I want a language, not a program that executes a file in a language.
Repl link:

GitHub - python/cpython: The Python programming language

I am assuming you are referring to the GitHub repository. Repos have much different folder structures compared to your everyday project. Another factor is as the name suggests, Python is created in C, which also has different folder practices compared to Python projects themselves.

What language would you want to create it in? This can heavily vary between the languages you want to consider making your language in.


Python. Because Most tutorials are in Python and I would’ve used C or C++ if Python wasn’t practically easier and the same thing.

Forgot to add, would you want your language interpreted or compiled? Programming languages’ source code can become extremely complicated, so you will need to have a good understanding of Python.

1 Like

I don’t know. Probably interpreted.


To make a programming language, you need to make interpreter/compiler to run it.


I have no idea about making a compiled language, but CodePulse has a great series on creating an interpreted programming language in Python.


Usually people make interpreters on compilers or vice versa.
The reason for that is interpreters are slow, and making an interpreter on an interpreter is like entering a marathon when you’re 70 years old.

I got part of this information from:


Okay but you’re the one who suggested an interpreter in Python. So what language do you want to make it in then? It shouldn’t be too hard to just… Translate the Python into another language.

I’ll do it anyway.

I guess… still Python?

Also everybody, you should see this:


Those are the languages Python is made in. The Python bit is the modules and the rest make up the language.

1 Like

Actually, I believe C is the only thing that makes up the language itself, and Python makes up modules and such. Everything else (ex HTML and Batch) is probably documentation or some automation scripts that don’t actually build up the language itself.