Ethereum virtual machine (EVM) operates as a stack machine with a depth of 1024 items (256-bit hashes). Any implementation of the EVM (Py-EVM, evmone, EthereumJS, etc) most follow the instructions in the Etherum Yellow paper. Smart contracts are executed by compiling to opcodes which translates to standard operations such as XOR, AND, ADD, SUB, etc together with blockchain specific operations such as ADRESS, BALANCE, BLOCKHASH, etc. There are several languages that compile to Ethereum opcodes. Vyper (Python like) and Solidity (JavaScript like) are the most common. There are also Yul and Yul+ which are languages closer to the EVM. Solidity is the most widely used language from smart contract development. Solidity has similar syntax to JavaScript: Object-oriented, curly-brackets and statically typed.

How to get started with smart contract development in Solidity? Many recommend tutorials such as CryptoZombies where you learn Solidity by making a blockchain game.

Udemy: Solidity bootcamp