Apple platform development.
WHAT IT IS
A statically typed compiled language, designed as a safer and more modern replacement for its predecessor on Apple platforms.
WHAT DISTINGUISHES IT
Optionals, making absence explicit in the type system Value types used extensively Protocol-oriented design Automatic reference counting for memory
WHAT OPTIONALS PROVIDE
A value that may be absent must be unwrapped before use, checked by the compiler.
WHY THAT MATTERS
It eliminates the commonest runtime crash.
WHAT AUTOMATIC REFERENCE COUNTING MEANS
Memory is released when references are gone, without a garbage collector.
WHAT THAT REQUIRES ATTENTION TO
Reference cycles, where two objects hold each other and neither is released.
WHAT SOLVES THAT
Declaring one reference as not owning.
WHAT IT IS USED FOR
iOS, macOS and related platform applications Increasingly, server-side work
WHAT THE INTERFACE FRAMEWORK CHANGED
A declarative approach to building interfaces, describing what should appear for a given state.
WHO IT SUITS
Anyone building for Apple platforms, where it is effectively the required choice.
WHAT TO BE AWARE OF
Development requires Apple hardware.