Which programming languages are used in DAPPs?

I guess the web itself uses CSS, HTML and Javascript, but then, what about the blockchain for smart contracts and DeFi parts? Which are the language/s used to programm the blockchain itself and the languages used to program all the functionalities that the DAAPs need to have with DeFi?