Swift

 Swift

Presentation about the Swift programming language by Apple, given in Zurich, September 9th 2014.

The demos are available here:
https://github.com/akosma/Swift-Presentation

53619e4417778923cc65a51683e850a0?s=128

Adrian Kosmaczewski

September 09, 2014
Tweet

Transcript

  1. The Tao of Swift

  2. (Feng Shui)

  3. Thus spake the master programmer:

  4. The Tao of Programming flows far away and returns on

    the wind of morning.
  5. The Tao gave birth to machine language.

  6. None
  7. The assembler gave birth to the compiler.

  8. None
  9. Each language has its purpose, however humble.

  10. None
  11. None
  12. None
  13. Welcome

  14. Adrian Kosmaczewski

  15. None
  16. Xcode 6

  17. None
  18. None
  19. Playgrounds

  20. None
  21. None
  22. None
  23. None
  24. Should you use Swift?

  25. No. ! (well, not yet)

  26. Not (yet) ready for primetime

  27. None
  28. None
  29. What is Swift?

  30. Modern Safe Fast Interoperable

  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. http://www.marutisuzuki.com/swift.aspx

  38. http://www.scbroncos.com/

  39. http://www.englandfootballonline.com/TeamClubs/Clubs/Swifts.html

  40. http://www.swiftengineering.com/

  41. https://en.wikipedia.org/wiki/File:5.3.10TaylorSwiftByDavidShankbone.jpg

  42. http://en.wikipedia.org/wiki/File:Jonathan_Swift_by_Charles_Jervas_detail.jpg

  43. http://swift-lang.org/main/

  44. None
  45. None
  46. None
  47. Why Swift?

  48. None
  49. None
  50. None
  51. Who made it?

  52. None
  53. None
  54. None
  55. None
  56. None
  57. None
  58. How does Swift compare to others?

  59. None
  60. https://leverich.github.io/swiftislikescala/

  61. http://realm.io/news/swift-for-javascript-developers/

  62. http://pietschsoft.com/post/2014/06/07/Basic-Comparison-of-C-and-Apple-Swift-Programming-Language-Syntax

  63. http://www.haskell.org/

  64. None
  65. None
  66. None
  67. None
  68. Major Features Strong typing Type inference Closures Optionals / Nullables

    Generics Custom operators Tuples Interoperable Changes every week
  69. Interoperability

  70. None
  71. Not Available in Obj-C Generics Tuples Enumerations Structures Top-level functions

    Global variables Typealiases Swift-style variadics Nested types Curried functions
  72. Is Swift a Functional Language™®©?

  73. Sorta.

  74. Cocoa is the new Carbon

  75. Built for Speed

  76. None
  77. None
  78. Demos ! (finally!)

  79. … and much more Standard library WillSet / DidSet in

    setters Memory management in closures Convenience initializers Lazy properties Nesting of classes, enums and structs Pattern matching in `switch` statements reStructuredText documentation headers Default parameter values in functions Monads, futures, promises and other functional programming constructions Nested comments
  80. Tool Support

  81. None
  82. Editor Support Sublime Text http://www.sublimetext.com/ AppCode http://www.jetbrains.com/objc/ TextMate https://github.com/textmate/textmate Textastic

    http://www.textasticapp.com/ SimpleEdit http://simpleeditapp.com/ PaintCode http://www.paintcodeapp.com/ Vim http://www.vim.org/
  83. None
  84. None
  85. Bad Karma

  86. Lack of “const correctness” / not completely functional Almost no

    docs about the standard library Lack of extensive dynamic type information Changes every week (well, almost.)
  87. More Information

  88. Blogs (1/2) Apple https://developer.apple.com/swift/blog/ Erica Sadun http://ericasadun.com/ Mattt Thompson http://swifthipster.com/!

    Mike Ash https://www.mikeash.com/pyblog/
  89. Blogs (2/2) Airspeed Velocity http://airspeedvelocity.net/ Alexandros Salazar http://nomothetis.svbtle.com/ David J

    Peacock http://davidjpeacock.ca/ sketchyTech http://sketchytech.blogspot.com/ Swift Studies http://www.swift-studies.com/
  90. Weekly Newsletters Natasha the Robot http://natashatherobot.com/ Swift Dev Weekly http://swiftdevweekly.com/

    iOS Dev Weekly http://iosdevweekly.com/
  91. Code FlappySwift https://github.com/jurvis/FlappySwift Alamofire https://github.com/Alamofire/Alamofire Swiftz https://github.com/maxpow4h/swiftz Dollar https://github.com/ankurp/Dollar.swift Quick

    BDD https://github.com/Quick/Quick
  92. Other Platforms RemObjects Silver 
 http://www.remobjects.com/elements/silver/ Swift-X http://swift-x.org/ Swift on

    your browser http://swiftstub.com/
  93. Quick Help GitHub 
 https://github.com/github/swift-style-guide Cheatsheet 
 http://www.raywenderlich.com/73967/swift-cheat-sheet- and-quick-reference Closure

    Syntax
 http://fuckingclosuresyntax.com/ Playground Builder
 http://jasonsandmeyer.com/playgrounds/
  94. Books

  95. Upcoming Books

  96. More Books jamesonquave.com/swiftebook raywenderlich.com/store/swift-tutorials-bundle

  97. Classics

  98. Thus spake the master programmer:

  99. It is time for you to leave.

  100. Thanks!

  101. Questions?

  102. Credits The Tao of Programming
 http://canonical.org/~kragen/tao-of- programming.html People I follow

    on Twitter