How do you implement a language with greater capabilities using subordinate languages? I've heard that C++ and Python where implemented using C. How can someone make an object oriented language out of something that doesn't support objects?

I've read in the book "Math You Can`t Use - Patents, Copyright and Software" that code is considered an equivalent of mathematics because it will eventualy be ran on cirquits that work and interact based on mathematical logic.

If a limited tool like C can produce a tool with further capabilities like C++, does that mean that mathematics can be used to create "better" mathematics? That seems to contradict Gödel's incompleteness theorem.

What is the essence of this trancedance from simple procedural to object oriented? Is there some code written in C that C++ and Python use or are they written in a completely different paradigm from the ground up?
The key point is that essentially all programming languages are equally powerful, and as powerful as we know how to make any computing system. That is, they can all simulate a Turing machine, up to the limitations of the computer they're used on. (Real computers can run out of memory; Turing machines can't.)

The only differences between programming languages is in how convenient it is to express certain ideas. For example, you can implement objects in C using structs containing function pointers, though it's not very convenient because the compiler doesn't help you much so you have to do a lot of things manually that something like C++ would do automatically for you.