# Sway Language Basics

Sway is a programming language designed for the FuelVM. It is a statically typed, compiled language with type inference and traits. Sway aims to make smart contract development safer and more efficient through the use of strong static analysis and compiler feedback.

Get started with the basics of Sway:

- [Variables](./variables.md)
- [Built-in Types](./built_in_types.md)
- [Commonly Used Library Types](./commonly_used_library_types.md)
- [Blockchain Types](./blockchain_types.md)
- [Functions](./functions.md)
- [Structs, Tuples, and Enums](./structs_tuples_and_enums.md)
- [Methods and Associated Functions](./methods_and_associated_functions.md)
- [Constants](./constants.md)
- [Comments and Logging](./comments_and_logging.md)
- [Control Flow](./control_flow.md)
- [Error Handling](./error_handling.md)
