15
vs. ? Swift Language X Can you guess what language this is?

Swift vs. Language X

Embed Size (px)

DESCRIPTION

Can you guess what language this is?

Citation preview

Page 1: Swift vs. Language X

vs.

?

Swift

Language X Can you guess what language this is?

Page 2: Swift vs. Language X

vs.

?

Native development for one mobile platform

Native development for three mobile platforms

Page 3: Swift vs. Language X

vs.

?

Desktop apps for one OS

Desktop apps for three OSes

Page 4: Swift vs. Language X

vs.

?

Client only development

Use the same language on client and server

Cloud-ready too

Page 5: Swift vs. Language X

vs.

?

Closed source

Open source

Page 6: Swift vs. Language X

vs.

?

Well-designed language

Modern. Designed for safety. Concise yet expressive syntax. Interactive and fun. Fast and powerful.

Well-designed language

Modern. Designed for safety. Concise yet expressive syntax. Interactive and fun. Fast and powerful.

Page 7: Swift vs. Language X

vs.

?

A low-risk switch

Benefits from an existing eco-system. Can interop with legacy code. Can access a large number of existing libraries.

A low-risk switch

Benefits from an existing eco-system. Can interop with legacy code. Can access a large number of existing libraries.

Page 8: Swift vs. Language X

vs.

?

Many awesome language features Type inference ∙ Optional types ∙ Interactive REPL Pattern matching ∙ 1st class functions ∙ Concise syntax Functional patterns ∙ Tuples ∙ Immutable data Object orientation ∙ Operator overloading ∙ Closures

Many awesome language features Type inference ∙ Optional types ∙ Interactive REPL Pattern matching ∙ 1st class functions ∙ Concise syntax Functional patterns ∙ Tuples ∙ Immutable data Object orientation ∙ Operator overloading ∙ Closures

And no semicolons!

And no semicolons!

Page 9: Swift vs. Language X

vs.

?

Missing important things Lacks full type inference ∙ No asynchronous flow No parallelism ∙ Tricky garbage collection

Important things included Excellent type inference ∙ Built-in async flow Parallelism ∙ Algebraic types ∙ Units of measure More powerful pattern matching ∙ Agents One line parsing of JSON, XML, CSV Syntax support for database queries.

Also, a very young language

And a mature language

Page 10: Swift vs. Language X

? So what is language X?

Page 11: Swift vs. Language X

? So what is language X?

Language X is F#

Page 12: Swift vs. Language X

? So what is language X?

Language X is F#

Surprised? Why don't you give F# a try and see for yourself? What do other people say? http://fsharp.org/testimonials/

Page 13: Swift vs. Language X

Try F#

The F# Software Foundation has links to everything you need: http://fsharp.org/ Learn key principles in just a few minutes: http://www.tryfsharp.org/Learn Play with it in a browser: http://www.tryfsharp.org/Create https://dotnetfiddle.net/

Page 14: Swift vs. Language X

F# is available "out of the box" on all Xamarin-supported platforms: Android, OS X and iOS. http://developer.xamarin.com/guides/cross-platform/fsharp/ Build better apps for iOS, Android and Mac with Xamarin Studio: http://xamarin.com/studio Or build native iOS, Android and Windows apps in Visual Studio: http://xamarin.com/visual-studio

MonoGame on iOS: http://neildanson.wordpress.com/2013/07/31/f-and-monogame-part-3-ios/

F# on the front end