TL;DR: You can download The Swift Programming Language now, or read online here — go straight to the diffs if you wish!
So you all happy now, we trust? The open sourcing we’d figured had to be coming, but contributing a Linux port of Swift 2.0? That was a bit more so.
Here is what we can tell you so far:
- Swift source code will be released under an OSI-approved permissive license.
- Contributions from the community will be accepted — and encouraged.
- At launch we intend to contribute ports for OS X, iOS, and Linux.
- Source code will include the Swift compiler and standard library.
- We think it would be amazing for Swift to be on all your favorite platforms.
We are excited about the opportunities an open source Swift creates for our industry. Baked-in safety features combined with excellent speed mean it has the chance to dramatically improve software versus using C-based languages. Swift is packed with modern features, it’s fun to write, and we believe it will get used in a lot of places. Together, we have an exciting road ahead…
Swift On The Server being the next destination there, we’d say that Linux-port bit is a pretty darn clear declaration of.
And of course, here we go with MOAR REWRITES:
An advanced error handling model provides clear, expressive syntax for catching and throwing errors. It’s also easy to create your own custom error types so you can describe error cases with clear, meaningful names…
New syntax features let you write more expressive code while improving consistency across the language…
- Powerful control flow with do, guard, defer, and repeat
- Keyword naming rules unified for functions and methods
- Protocol extensions and default implementations
- Extended pattern matching to work in if clauses and for loops
Release notes for the new OSes are interesting too:
And here’s your list of WWDC Session sample code of assorted niftiness.
More collected links and details by Erica Sadun at What you need to know, and no doubt there’ll be plenty of in depth analysis to collect … swiftly!
UPDATES:
ASCIIwwdc.com: Searchable full-text transcripts of WWDC sessions
NSHipster’s iOS 9
Ray Wenderlich’s WWDC 2015 Initial Impressions; What’s New in Swift 2
Michael Tsai’s WWDC 2015 Links
Changes to the Swift Standard Library in 2.0 beta 1; Swift Diffs
Swift v2.0 Error Handling – Revisit; Swift 2: Test Driving the Error Handling; Swift 2 error handling in practice; Keep your Swift Exceptions clean, easy to update and future proof; Lets try! Swift(version: Swift.2); Thoughts on Swift 2 Errors; Swift Exceptions are Swifty: Part 1; Error Handling in Swift 2.0; Everything You Should Know About Error Handling in Swift 2.0 (but Were Too Afraid to Ask); Swift 2.0 Error Handling; Thoughts on Swift 2 Errors
Notes from WWDC 2015: Failing Gracefully: Swift 2.0 Error Handling; Swift 2 Error Handling, Continued
Swift 2.0: Day One (do-try-catch) ➜ Closures that Throw: Rethrows in Swift 2.0; Throw What Don’t Throw; Re…throws?
Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!; Improvements to Unit Testing in Swift with Xcode 7; Test Logs in Xcode
Swift 2 – What’s new; Swift 2: The overview; Other New Swift 2 Features
Notes from WWDC 2015: The Enumerated Delights of Swift 2.0 Option Sets; Exploring Swift 2.0 OptionSetTypes
Exploring Swift 2 Protocol Extensions; Protocol-Oriented Programming is Object-Oriented Programming; The ♥ of Swift; The Ghost of Swift Bugs Future; Introducing Protocol-Oriented Programming in Swift 2; Swift protocol extension method dispatch; Swift Protocols; Swift Generic Protocols; Swift’s Protocol Extensions: A Practical Example
The Genius of Swift 2’s defer; guard & defer
Func Parameters in Swift 2.0 ➜ Parameter Defaults and Optional Function Parameters in Swift 2.0
Friday Q&A 2015-06-19: The Best of What’s New in Swift
Friday Q&A 2015-07-17: When to Use Swift Structs and Classes
Protocol extensions and the death of the pipe-forward operator
Similarly different: join(), reduce() and flatMap() in Swift 2
Every Swift Value Type Should Be Equatable; Notions of Equality in Swift
Objective-C in 2015: “Swift 2 isn’t the only shiny new toy.”
Changes to the Swift standard library in 2.0 betas 2..<5
Strings in Swift 2: “In Swift 2, the String type no longer conforms to the CollectionType protocol…”
Understanding flatMap; Map and Flatmap; What do map() and flatMap() really do?; Map and FlatMap Demystified; map all the things!; map & flatMap
Linked lists, enums, value types and identity
Mixins and Traits in Swift 2.0
Nil vs throws ➜ Nils vs Throws in #swiftlang Part II
Practical Swift: pages generator – build once, use many
Swift + Guard: Syntactical Sugar Pt.2
Swift 2 Pattern Matching: Unwrapping Multiple Optionals; Match Me if you can: Swift Pattern Matching in Detail; Swift 2: Control Flow Pattern Matching Examples; Pattern Matching in Swift and Ranges and Intervals in Swift and More Pattern Matching Examples; Tuples + Pattern Matching
Swift 2 Beta 6; Up the mix with Beta 6; How to Print: the Beta 6 edition
Swift 2.0: Let’s try?; How to “try?” (Yoda alert); Swift + Error Handling Syntactical Sugar Pt.3; Error Handling: From Objective-C to Swift and Back; Let it throw, Let it throw!
