
Chris Lattner on the Origins of Swift - ingve
https://oleb.net/2019/chris-lattner-swift-origins/
======
joshstrange
If you want to hear more from Chris re:swift they talk about it on ATP #205
[0] in the only (that I know of) interview they have ever done. It's a good
episode and before when I started listening to ATP but they mentioned it in a
later episode and I went back to listen to it and it hold up.

[0] [http://atp.fm/205](http://atp.fm/205)

~~~
saagarjha
Latter shows up every week in the Swift Community Podcast.

~~~
mayoff
The “only” refers to the hosts of ATP, not to clattner. It is the only
interview in the history of ATP.

------
melling
@50m in they discuss the problems of using Swift on non-iOS platforms. How far
is Swift from being a good cross-platform language?

~~~
cageface
IMO the choice of reference counting for memory management means Swift is
going to lose out to garbage collected languages for most problem domains. It
makes sense for UIKit but not for most backend work.

~~~
vlozko
Could you, at least, provide something to substantiate your opinion? There's
ups and downs to both approaches. But you should note that reference counting,
for the most part, is handled for you at compile time.

~~~
cageface
My iOS code is loaded with manual weak ref handling. It’s easy to get wrong.
It’s an extra cognitive load and source of bugs. I’d say on pretty much every
iOS project I’ve been on there’s been at least one client visible bug caused
by forgetting to use a weak ref somewhere.

------
gdubs
“I’ve seen so many systems where you build a thing and then you try to explain
it afterwards.[...] If you can close that feedback loop and include the
documentation, include the explaining-it-to-people part into the design
process, you get something that’s so much better.”

I’ve really found this to be the case with every app I’ve made. I used to make
the app, then start working on marketing, and then realize in trying to frame
the app for its target audience that there were a bunch of things I’d want to
change in the app. By constantly working on the marketing aspect, you’re able
to get those things in early. Launching the initial prototype to a group of
trusted testers and then iterating constantly is a really effective way of
doing this, at least in my experience.

