Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Don't be "an Objective-C" or "a Swift Developer"
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Bryan Irace
August 29, 2014
Technology
890
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Don't be "an Objective-C" or "a Swift Developer"
Slides from A Swift Start (
http://aswiftstart.com
), given at The Flatiron School on 8/29/2014
Bryan Irace
August 29, 2014
More Decks by Bryan Irace
See All by Bryan Irace
Practical iOS application modularity
irace
1
730
iOS at Tumblr
irace
2
1.6k
Building Tumblr for iOS
irace
0
750
Modularity in mobile applications
irace
0
170
When the iOS SDK says “Jump,” ask “How High?”
irace
7
1.5k
Tumblr iOS architecture
irace
5
680
Node.js for mobile developers
irace
1
200
Introduction to Objective-C and Cocoa Touch
irace
7
830
Building apps that play nicely with other apps
irace
1
460
Other Decks in Technology
See All in Technology
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
350
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
490
家のリアーキテクト・リファクタリング
suguruooki
0
100
20260912_スクフェス三河
kgnkhkr
0
270
Claude Code本って、 読む必要あるの?
oikon48
2
380
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
260
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
300
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.4k
GoCon2026 - Open Source, Open World
sanposhiho
3
3.1k
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
400
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
130
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
160
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
270
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Site-Speed That Sticks
csswizardry
13
1.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Transcript
DON'T BE "AN OBJECTIVE-C" or "A SWIFT DEVELOPER" BRYAN IRACE
AUGUST 29, 2014
BE A SOFTWARE DEVELOPER
BEING A GREAT DEVELOPER MEANS BEING A GREAT PROBLEM SOLVER
BEING A GREAT PROBLEM SOLVER MEANS DRAWING FROM VARIED EXPERIENCE
"We need to reach that happy stage of our development
when differences and diversity are not seen as sources of division and distrust, but of strength and inspiration." ▸ Josefa Iloilo
var stooges = [{ name: 'curly', age: 25 }, {
name: 'moe', age: 21 }, { name: 'larry', age: 23 }]; var youngest = _.chain(stooges) .sortBy(function (stooge) { return stooge.age; }) .map(function (stooge) { return stooge.name + ' is ' + stooge.age; }) .first() .value();
[[[stooges sortedArrayUsingDescriptors: @[[NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES]]] transformedArrayUsingBlock:^NSString *(NSDictionary *stooge) { return
[NSString stringWithFormat:@"%@ is %@", stooge[@"name"], stooge[@"age"]]; }] firstObject];
YES, IT'S UGLY BUT THE BENEFITS ARE ALL STILL THERE
"Header files are the only good way to manage code
visibility"
"Of course you should always use methods instead of functions"
"Generics? Don't need 'em"
YOUR FAVORITE PROGRAMMING LANGUAGE IS AN IMPLEMENTATION DETAIL
None
WHAT I'M NOT SAYING: YOU'RE SCREWED IF YOU ONLY KNOW
OBJECTIVE-C
STRONG OPINIONS WEAKLY HELD
"What would you change about Objective-C?"
"One of the biggest constants in software development: the unerring
sense among developers that the level of abstraction they're currently working at is exactly the right one for the task at hand." ▸ John Siracusa, Copland 2010 revisited
None
"If I start using it now, I can provide feedback,
and that feedback will help shape the programming language that I’m likely to use for the rest of my career. ▸ Brent Simmons
"Maybe I’ll have a ton of feedback, and maybe I’ll
have none — but I’d sure hate to have missed my chance to help."
YOU CAN'T ASK FOR WHAT YOU DON'T KNOW THAT YOU'RE
MISSING
THANK YOU @IRACE