How do I immerse myself into blockchain programming?

I am curious on where can I learn Plutus and Haskell and any other languages necessary to create specifically NFT Marketplaces?