History & Dialects
Diem / "core" Move introduced the language: modules, scripts, resources stored under addresses with move_to, borrow_global, and so on.
2.1 Timeline
Facebook starts the Libra blockchain project; Move is designed by a team including Sam Blackshear
Libra white paper and the paper *"Move: A Language With Programmable Resources"* published
Libra renamed Diem; the Diem Association continues development
Move Prover matures; former Diem engineers found Mysten Labs (Sui) and Aptos Labs
Diem shuts down; assets sold to Silvergate. Move lives on as open source
Aptos mainnet launches with Aptos Move (global storage, Aptos Framework)
Sui mainnet launches with Sui Move (object-centric model)
Sui introduces the Move 2024 edition (method syntax, public struct, let mut, macros, enums, labeled control flow)
Aptos releases Move 2 (enums, receiver functions, index notation, for loops, compound assignment, labels)
Aptos Move 2.2+ adds function values (closures); Movement mainnet; IOTA Rebased adopts Sui-style Move; Sui adds new Coin Registry and package-management improvements
2.2 The three families
Diem / "core" Move introduced the language: modules, scripts, resources stored under addresses with move_to, borrow_global, and so on. Transactions were often written as scripts (script { fun main(...) }).
Aptos Move keeps the Diem global-storage model, adds the Aptos Framework (0x1::coin, 0x1::account, 0x1::object, 0x1::fungible_asset), entry and #[view] functions, an Object model layered on top of global storage, parallel execution via Block-STM, and the Move 2 language upgrades. Scripts are still supported.
Sui Move removes global storage operations entirely. Everything on chain is an object with a globally unique UID, owned by an address, shared, immutable, or wrapped inside another object. Transactions are programmable transaction blocks (PTBs) that chain calls to public functions; scripts are not used.
2.3 Side-by-side summary
Objects (key + id: UID) Resources under addresses (move_to) + Objects
Owning an object / capability object, TxContext sender none (transfer::* instead)
move_to, move_from, borrow_global(_mut), exists friend / public(friend), Move 2 package visibility PTBs (chain many calls)
Entry function or script (+ multi-agent) Move 2024 edition Coin<T> / Balance<T>
Coin<T> (legacy) and Fungible Asset standard Any key + store object, Kiosk
Digital Asset standard (aptos_token_objects) #[event] + 0x1::event::emit Sui Prover (Asymptotic) Move Prover (aptos move prove)
2.4 Movement and others
Movement builds a Move-based network compatible with Aptos Move tooling (the Aptos CLI and Framework concepts transfer almost directly).
IOTA rebuilt its L1 on a fork of the Sui stack, so Sui Move knowledge transfers.
Initia uses MoveVM in an interwoven rollup ecosystem; Rooch is a Move-based Bitcoin L2; Starcoin and 0L are earlier Diem-derived chains.
When this course says "Aptos Move", the material generally applies to Movement too; when it says "Sui Move", it generally applies to IOTA.