It depends on the nature of your BC application. For example, if you wish to develop a blockchain-based application for enterprises or any other organization, then it is better to use the private blockchain "Hyperledger Fabric". For Hyperledger, you might need to be more familiar with Go, Node, and Javascript languages.
C++, Java, C#, JavaScript, Go, Python, Ruby, and Solidity. Among these languages, solidity is the only new programming language designed to write Ethereum based smart contracts. Other languages are common and popular programming languages.
I suggest you to firstly decide on which blockchain technology you plan to use. Depending on this decision, you might not even have a choice to freely select the programming language. If you want to use Bitcoin, you will end up with using its script language. If you need more flexibility but you want to go for a permissionless blockchain, you might choose Ethereum and then you typically use solidity. If you want to use a permissioned distributed ledger, then Hyperledger Fabric allows you to use several established progamming languages (Go, Java,...). If you go for something specific, Canton (with the prominent DAML smart contract language) and Corda (with an own language again) might be options for you.