Hedera will initially support smart contracts written in the Solidity™ language; smart contracts can be ported over and ran 1-1, unchanged. Over time, Hedera may support additional smart contract languages.
There may also be programs running on user computers and mobile devices, which call the Hedera API, to use Hedera's network services. Developers of these programs will likely use the Hedera SDK, written in Java. Community supported SDKs are in various languages.