Smart contracts are developed with the purpose of automating a self-enforcing agreement. They can be used in various ways such as swapping assets between parties, triggering payouts based on certain outcomes, etc. Actions like these can be conducted in a decentralized manner, without the need of any middlemen.
Sophia is a new functional programming language developed by æternity for the purpose of writing smart contracts which run on the æternity Virtual Machine (AEVM) and the Ethereum Virtual Machine (EVM). It is in the same family of languages such as Reason.