To get an overview of Script and its corresponding opcodes, take a look at https://en.bitcoin.it/wiki/Script
For an easy execution environment, check out the online ide scriptwiz (https://ide.scriptwiz.app/) made by Burak
btcdeb (https://github.com/bitcoin-core/btcdeb) is also a good way to get a better idea of how opcodes manipulate the stack
From there I'd check out miniscript, which is still far from having a friendly developer environment but maybe worth learning about in the longterm. Here's a good video to learn the basics of what it is https://www.youtube.com/watch?v=_v1lECxNDiM&ab_channel=LondonBitcoinDevs
For applications, the Liquid ecosystem has some good examples. Check out the Fuji whitepaper for an example of complex scripting (https://vulpem.com/synthetic-asset-smart-contract.pdf) along with Liquid's non-custodial options (https://blockstream.com/assets/downloads/pdf/options-whitepaper.pdf)