Hi, my answers are:
1. What does the EVM do?
EVM reads smart contract instruction codes on each node, make sure nothing malicious in smart contracts to protect the network
2. What is the format of the instructions that the EVM can read?
EVM can read Bytecode
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is compiled down to bytecode so EVM can read it
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because its smart contract programming language - script is not Turing complete, it doesn’t have enough capacity to solve many problems related to money on the internet.
One important feature that script doesn’t have is loop (iteration).
All of the limits of Bitcoin is because Bitcoin developers want to keep Bticoin a digital peer-to-peer cash, or digital gold. They don’t want someone be able to spam on the network (using loops), they don’t want to increase block size to store all of small pieces of code (smart contracts). They want bitcoin to keep being a digital asset
5. What is a Turing Complete programming language?
It is a kind of programming language that is capable of giving developers the ability to create programs that can solve many problems
One of the important features is loop - which means executing some codes multiple times without manually typing them down. Sometimes, manually typing them down is impractical to create a program because in runtime, no one could predict what a certain value would be.