Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What's Up With Swift
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Mert Dumenci
December 14, 2014
Programming
0
120
What's Up With Swift
NSIstanbul Meetup 1.4
Mert Dumenci
December 14, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
AI時代の認知負荷との向き合い方
optfit
0
160
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
MUSUBIXとは
nahisaho
0
140
dchart: charts from deck markup
ajstarks
3
1k
ぼくの開発環境2026
yuzneri
0
240
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
CSC307 Lecture 04
javiergs
PRO
0
660
CSC307 Lecture 07
javiergs
PRO
1
560
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Abbi's Birthday
coloredviolet
1
4.8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Cult of Friendly URLs
andyhume
79
6.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
69
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
55
My Coaching Mixtape
mlcsv
0
48
Transcript
What’s up with Swift? $ diff Objective-C Swift
“Objective-C without the C”
“Objective-C without the C” A new language
Objective-C is heavily influenced by Smalltalk Objective-C is based on
messaging Objective-C is reflective
Swift is not heavily influenced by Smalltalk Swift is not
based on messaging Swift is limited in reflection
<objc/runtime.h>
objc_msgSend
Objective-C is dynamic (fun!) and safe enough by design
Swift is static and safe by design
Objective-C relies on the runtime for a lot of things
This makes it flexible But also hard to statically analyse
Swift relies on the compiler for a lot of things
This makes it not so flexible But also easy to statically analyse
Swift is not just a changed syntax
It’s a philosophy change
Swift is safe
Swift is concise
Swift is multi paradigm
Objective-C nil eats messages
There’s usually no need for explicit value existence checks
If nil means non-existent, so how do you represent existent
keys with no value in hashes?
[NSNull null]
@property (nonatomic, retain) NSMutableArray *array; [self.array addObject:@1]; NSNumber *value =
self.array.firstObject; Why is value nil?
nil, NSNull, silent failure
Optionals
enum Optional<T> { case None case Some(T) }
None
None
None
Type inference
let name = “Mert" let cities = ["Istanbul": 14_160_167, "Copenhagen":
559_557, "Tokyo": 13_350_000] let image = UIImage(named: "NSIstanbul")
Generics
None
func map<T, U>(array: [T], transform: (T) -> U) -> [U]
Theorems for free! Philip Wadler
Mutability as a language feature
Value types
First class functions
Pattern matching
…and many more
Swift is modern
Thanks
@mertdumenci
A lot of this presentation is from Functional Programming in
Swift — read it!
Couple of things
Objective-C is still a super awesome language, and it’s not
going anywhere anytime soon. It’s still incredibly relevant.
Swift is a concise and clean language. This doesn’t mean
it’s similar to JavaScript in any way. Don’t write JavaScript in Swift.
Swift has a long way to go. If you need
good reliability, use Objective-C.