# Introduction
Sophia is a functional language designed for smart contract development. It is strongly typed and has
restricted mutable state.

Sophia is customized for smart contracts, which can be published
to a blockchain. Thus some features of conventional
languages, such as floating point arithmetic, are not present in Sophia, and
some [æternity blockchain](https://aeternity.com) specific primitives, constructions and types have been added.

!!! Note
    - For rapid prototyping of smart contracts check out [AEstudio](https://studio.aepps.com/)!
    - For playing around and diving deeper into the language itself check out the [REPL](https://repl.aeternity.io/)!
