# Cadence Programming Language > Cadence is a resource-oriented programming language for smart contracts on Flow. > It features strong static types, resource-oriented programming, and capability-based access control. > Full docs: https://cadence-lang.org/llms-full.txt ## Documentation Pages - [Cadence Anti-Patterns](https://cadence-lang.org/docs/anti-patterns) - [Protocol Smart Contracts 1.0 Changes Guide](https://cadence-lang.org/docs/cadence-migration-guide/core-contracts-guide) - [Fungible Token Cadence 1.0 Migration Guide](https://cadence-lang.org/docs/cadence-migration-guide/ft-guide) - [Cadence 1.0 Improvements & New Features](https://cadence-lang.org/docs/cadence-migration-guide/improvements) - [Cadence 1.0 Migration Guide](https://cadence-lang.org/docs/cadence-migration-guide) - [Non-Fungible Token Cadence 1.0 Migration Guide](https://cadence-lang.org/docs/cadence-migration-guide/nft-guide) - [Contract Upgrades with Incompatible Changes](https://cadence-lang.org/docs/contract-upgrades) - [Cadence Design Patterns](https://cadence-lang.org/docs/design-patterns) - [Introduction to Cadence](https://cadence-lang.org/docs/) - [JSON-Cadence Data Interchange Format](https://cadence-lang.org/docs/json-cadence-spec) - [Access Control](https://cadence-lang.org/docs/language/access-control) - [Capabilities](https://cadence-lang.org/docs/language/accounts/capabilities) - [Contracts](https://cadence-lang.org/docs/language/accounts/contracts) - [Inbox](https://cadence-lang.org/docs/language/accounts/inbox) - [Accounts](https://cadence-lang.org/docs/language/accounts) - [Keys](https://cadence-lang.org/docs/language/accounts/keys) - [Paths](https://cadence-lang.org/docs/language/accounts/paths) - [Storage](https://cadence-lang.org/docs/language/accounts/storage) - [Attachments](https://cadence-lang.org/docs/language/attachments) - [Built-in Functions](https://cadence-lang.org/docs/language/built-in-functions) - [Capabilities](https://cadence-lang.org/docs/language/capabilities) - [Constants and Variable Declarations](https://cadence-lang.org/docs/language/constants-and-variables) - [Contract Updatability](https://cadence-lang.org/docs/language/contract-updatability) - [Contracts](https://cadence-lang.org/docs/language/contracts) - [Control Flow](https://cadence-lang.org/docs/language/control-flow) - [Core Events](https://cadence-lang.org/docs/language/core-events) - [Crypto](https://cadence-lang.org/docs/language/crypto) - [Enumerations](https://cadence-lang.org/docs/language/enumerations) - [Environment Information](https://cadence-lang.org/docs/language/environment-information) - [Events](https://cadence-lang.org/docs/language/events) - [Functions](https://cadence-lang.org/docs/language/functions) - [Imports](https://cadence-lang.org/docs/language/imports) - [The Cadence Programming Language](https://cadence-lang.org/docs/language) - [Interfaces](https://cadence-lang.org/docs/language/interfaces) - [Arithmetic and Logical Operators](https://cadence-lang.org/docs/language/operators/arithmetic-logical-operators) - [Assignment, Move, Force-Assignment, and Swapping Operators](https://cadence-lang.org/docs/language/operators/assign-move-force-swap) - [Bitwise and Ternary Conditional Operators](https://cadence-lang.org/docs/language/operators/bitwise-ternary-operators) - [Casting Operators](https://cadence-lang.org/docs/language/operators/casting-operators) - [Comparison Operators](https://cadence-lang.org/docs/language/operators/comparison-operators) - [Operators](https://cadence-lang.org/docs/language/operators) - [Optional Operators](https://cadence-lang.org/docs/language/operators/optional-operators) - [Prescedence and Associativity](https://cadence-lang.org/docs/language/operators/prescedence-associativity) - [Pre- and Post-Conditions](https://cadence-lang.org/docs/language/pre-and-post-conditions) - [References](https://cadence-lang.org/docs/language/references) - [Resources](https://cadence-lang.org/docs/language/resources) - [Scope](https://cadence-lang.org/docs/language/scope) - [Syntax and Glossary](https://cadence-lang.org/docs/language/syntax) - [Transactions](https://cadence-lang.org/docs/language/transactions) - [Composite Types](https://cadence-lang.org/docs/language/types-and-type-system/composite-types) - [Types and Type System](https://cadence-lang.org/docs/language/types-and-type-system) - [Intersection Types](https://cadence-lang.org/docs/language/types-and-type-system/intersection-types) - [Run-time Types](https://cadence-lang.org/docs/language/types-and-type-system/run-time-types) - [Type Annotations](https://cadence-lang.org/docs/language/types-and-type-system/type-annotations) - [Type Hierarchy](https://cadence-lang.org/docs/language/types-and-type-system/type-hierarchy) - [Type Inference](https://cadence-lang.org/docs/language/types-and-type-system/type-inference) - [Type Safety](https://cadence-lang.org/docs/language/types-and-type-system/type-safety) - [Addresses and Address Functions](https://cadence-lang.org/docs/language/values-and-types/addresses-functions) - [AnyStruct, AnyResource, Optionals, and Never](https://cadence-lang.org/docs/language/values-and-types/anystruct-anyresource-opts-never) - [Arrays](https://cadence-lang.org/docs/language/values-and-types/arrays) - [Booleans, Numeric Literals, and Integers](https://cadence-lang.org/docs/language/values-and-types/booleans-numlits-ints) - [Dictionaries](https://cadence-lang.org/docs/language/values-and-types/dictionaries) - [Fixed-Point Numbers and Functions](https://cadence-lang.org/docs/language/values-and-types/fixed-point-nums-ints) - [InclusiveRange](https://cadence-lang.org/docs/language/values-and-types/inclusive-range) - [Values and Types](https://cadence-lang.org/docs/language/values-and-types) - [Minimum and Maximum Values, Saturation Arithmetic, and Floating-Point Numbers](https://cadence-lang.org/docs/language/values-and-types/min-max-saturation-floating-pt-nums) - [Strings and Characters](https://cadence-lang.org/docs/language/values-and-types/strings-and-characters) - [Measuring Time In Cadence](https://cadence-lang.org/docs/measuring-time) - [Flow Smart Contract Project Development Standards](https://cadence-lang.org/docs/project-development-tips) - [Cadence Security Best Practices](https://cadence-lang.org/docs/security-best-practices) - [Cadence Guide for Solidity Developers](https://cadence-lang.org/docs/solidity-to-cadence) - [Cadence Testing Framework](https://cadence-lang.org/docs/testing-framework) - [Capabilities and Entitlements](https://cadence-lang.org/docs/tutorial/capabilities) - [First Steps](https://cadence-lang.org/docs/tutorial/first-steps) - [Fungible Tokens](https://cadence-lang.org/docs/tutorial/fungible-tokens) - [Hello World](https://cadence-lang.org/docs/tutorial/hello-world) - [Marketplace](https://cadence-lang.org/docs/tutorial/marketplace-compose) - [Marketplace Setup](https://cadence-lang.org/docs/tutorial/marketplace-setup) - [Basic NFT](https://cadence-lang.org/docs/tutorial/non-fungible-tokens-1) - [Intermediate NFTs](https://cadence-lang.org/docs/tutorial/non-fungible-tokens-2) - [Resources and the Move (<-) Operator](https://cadence-lang.org/docs/tutorial/resources) - [Voting Contract](https://cadence-lang.org/docs/tutorial/voting) - [Why Use Cadence?](https://cadence-lang.org/docs/why)