People creating smart contracts on a cryptocurrency network are designing cryptographic protocols—frankly, it might be a good thing if not every JavaScript programmer takes a go at that. Bitcoin does not have a virtual machine, but there are Miniscript, Minsc, Simplicity, or Sapio as higher level languages that translate to script. Additionally, there is an on-going development effort with Simplicity as a language specifically engineered to express smart contracts with provable outcomes.
And if you insist on EVM, check out RSK.