You can use any Web programming language to build websites addressed in any top-level domain.
Personally, I recommend using HTML + CSS + TypeScript in some framework that can help accelerate development (we use React) but that is not the only option, and what’s best depends in part on what you/your team knows and what other technologies/components you might want to integrate.
You’ll need to figure out hosting separately from ENS, though help for decentralized hosting on IPFS is available through e.g. Valist and Spheron.
Solidity is the most popular language for building smart contracts that can interact with the ENS registry on-chain. It has the biggest ecosystem and most available support/tooling, though it’s not the only option, and Vyper might be better if your background is deep into Python and not into JavaScript. However, on-chain smart contract interactions are different than building a website.