Linux Swift Too!

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:

New stuff from WWDC 2015

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

Top 10 WWDC 2015 Videos

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

What’s New in Swift 2: repeat-while, guard, defer, ErrorType, OptionSetType, multi-payload enums, if-case, for-case, #available, try!

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.0Parameter 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

C Callbacks in Swift

Swift 2, Beta 2

Protocol extensions and the death of the pipe-forward operator

Swift 2: SIMD

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 throwsNils 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!

Swift 2.1

Alex | June 8, 2015

Leave a Reply