Think of it this way. Python is written in C,
No, it is not.
You seem to be confusing a Programming Language like Python or C with a Programming Language Implementation (e.g. a Compiler or Interpreter) like PyPy or Clang.
A Programming Language is a set of semantic and syntactic rules and restrictions. It is just an idea. A piece of paper. It isn't "written in" anything (in the sense that e.g. Linux is "written in" C). At most, we can say it is written in English, or more precisely, in a specific jargon of English, a semi-formatformal subset of English extended with logic notation.
Different specifications are written in different styles, here is an example of some specifications:
- The Java Language Specification
- The Scala Language Specification
- The Haskell 2010 Language Report
- The Revised7 Report on the Algorithmic Language Scheme
- The ECMA-262 ECMAScript® Language Specification
- Python does not really have a single Language Specification like many other languages do, the information is kind of splintered between the Python Language Reference, the Python Enhancement Proposals, as well as a lot of implicit institutional knowledge that only exists in the collective heads of the Python community
There are multiple Python implementations in common use today, and only one of them is written in C:
- Brython is written in ECMAScript
- IronPython is written in C#
- Jython is written in Java
- GraalPython is written in Java, using the Truffle Language Implementation Framework
- PyPy is written in the RPython Programming Language (a statically typed language roughly at the abstraction level of Java, roughly with the performance of C, with syntax and runtime semantics that are a proper subset of Python) using the RPython Language Implementation Framework
- CPython is written in C
In other words, every programming language is written in an older programming language. So what came first, and what was that coded in?
Again, you are confusing Programming Languages and Programming Language Implementations.
Programming Languages are written in English. Programming Language Implementations are written in Programming Languages. They can be written in any Programming Language. For example, Jython is a Python implementation written in Java – and Java is younger than Python. GHC is a Haskell implementation written in Haskell. GCC is a C compiler written in C. tsc is a TypeScript compiler written in TypeScript. rustc is a Rust compiler written in Rust. NSC is a Scala compiler written in Scala. javac is a Java compiler written in Java. Roslyn is a C# compiler written in C#.
And so on and so forth, there really is no restriction on the language used to implement a compiler or interpreter. (There is a theoretical limitation in that an interpreter for a Turing-complete language must also be written in a Turing-complete language.)