уууу... как всё запущено тут

Итак, у питона как-раз есть та самая "виртуальная машина". Называет она интерпретатор. То есть питон - это не готовые машинные кода, а некий промежуточный код из которого те самые hex кода создаются при запуске. И вот насчёт Си, не вижу связи с первым вопросом, но отвечу... Дело в том, что первый Си создавался как и другие низкоуровневые языки с помощью чего-то более "древнего". Не знаю судьбу Си, но думаю он был писан на asm. А потом он был готов настолько, что бы на нём можно было писать программы, и был для этого удобнее других существующих языков. Потому то на нём и начали писать софт, в том числе и дописывать его самого. Точно так же можно поступить и с любым другим компилятором. Например можно создать новую версию free pascal и скомпилировать её на компиляторе старой версии
