Base language of Python
Question:
What is the base language Python is written in?
Answers:
The sources are public. Python is written in C (actually the default implementation is called CPython).
it is written in C, its also called CPython.
Python is written in English. But there are several implementations:
- PyPy (written in Python)
- CPython (written in C)
- IronPython (written in C#)
- Jython (written in Java)
You can’t say that Python is written in some programming language, since Python as a language is just a set of rules (like syntax rules, or descriptions of standard functionality). So we might say, that it is written in English :). However, mentioned rules can be implemented in some programming language. Hence, if you send a string like ‘import this’ to that program called interpreter, it’d return you “Zen of Python”.
Since most modern OS are written in C, compilers/interpreters for modern high-level languages are also written in C. Python is not an exception – its most popular/”traditional” implementation is called CPython and is written in C.
There are other implementations:
- IronPython (Python running on .NET)
- Jython (Python running on the Java Virtual Machine)
- PyPy (A fast python implementation with a JIT compiler)
- Stackless Python (Branch of CPython supporting microthreads)
You get a good idea if you compile python from source. Usually it’s gcc
that compiles the *.c
files
To add to and reframe some of the other good answers:
The specification for Python (question) is written in English, but could be written in a formal semantics, as Standard
ML and Scheme are.
See
Programming language specification.
There are implementations of Python in many languages, as noted in Gandaro’s answer.
Updated thanks to the inspiration of @TylerH:
As an aside, when the performance of a compute-intensive application is important, the fastest implementation is often not the standard CPython, which is written in C. For example, for many cases, pypy or Cython (both written in Python) may be faster
What is the base language Python is written in?
The sources are public. Python is written in C (actually the default implementation is called CPython).
it is written in C, its also called CPython.
Python is written in English. But there are several implementations:
- PyPy (written in Python)
- CPython (written in C)
- IronPython (written in C#)
- Jython (written in Java)
You can’t say that Python is written in some programming language, since Python as a language is just a set of rules (like syntax rules, or descriptions of standard functionality). So we might say, that it is written in English :). However, mentioned rules can be implemented in some programming language. Hence, if you send a string like ‘import this’ to that program called interpreter, it’d return you “Zen of Python”.
Since most modern OS are written in C, compilers/interpreters for modern high-level languages are also written in C. Python is not an exception – its most popular/”traditional” implementation is called CPython and is written in C.
There are other implementations:
- IronPython (Python running on .NET)
- Jython (Python running on the Java Virtual Machine)
- PyPy (A fast python implementation with a JIT compiler)
- Stackless Python (Branch of CPython supporting microthreads)
You get a good idea if you compile python from source. Usually it’s gcc
that compiles the *.c
files
To add to and reframe some of the other good answers:
The specification for Python (question) is written in English, but could be written in a formal semantics, as Standard
ML and Scheme are.
See
Programming language specification.
There are implementations of Python in many languages, as noted in Gandaro’s answer.
Updated thanks to the inspiration of @TylerH:
As an aside, when the performance of a compute-intensive application is important, the fastest implementation is often not the standard CPython, which is written in C. For example, for many cases, pypy or Cython (both written in Python) may be faster