Hacker Newsnew | past | comments | ask | show | jobs | submit | morqon's commentslogin

here’s the original video, streamed live, clip starts at 20:25: https://www.youtube.com/watch?v=Pig9WbMN1lQ&t=1225s



Some excellent reminders about empathy, not being a condescending designer, and trying to understand actual people when you build something. It shouldn't be that hard, you're one, and presumably you know some.


It's pretty nice though, having the slides synchronised to the video. And on realm.io, below the video, there's a transcript with linked resources :)


The text below was simply excerpts instead of the full transcript. The incomplete excerpts looked like snippets of context to guide people to the middle parts of the video. You actually had to watch/listen to the video to get the full text.

For example, at the beginning, he says the word "tricycle" and when I searched for that word, it wasn't in the text below. That's when I knew it wasn't a full transcript.


Happily, the two co-exist well, and increasingly so. Where one is a better choice for a particular job, you have it. It's just that you now have two tools to choose from.


No they don't.

If you use swift features then your class is inaccessible to ObjC. If you mark your class @objc then you can't use many swift features.

The only thing that works well is writing most of your app in swift and writing ObjC wrappers for C/C++ code, because dealing with C in Swift is atrocious and many libraries simply don't work in Swift because of initialization issues with complex structs.

Also, having two tools to choose from that do practically the same thing is never really a good idea because you waste time trying to figure out whether Swift->ObjC interop is going to fuck you over more than ObjC->Swift interop for this particular class.

Also, once you start mixing code and have your code importing a Swift header and your Swift bridging header importing your ObjC classes you start getting huge compile times as anytime you change an ObjC header your entire swift code has to be recompiled which takes forever because the swift compiler is dog slow.

My advice, pick one language for your project and stick with it, the language I would advise until Apple writes base libraries in Swift is ObjC, because if you run into performance issues C/C++ is going to save your ass far more than Swift will.

And mostly because

  var cell = tableView.dequeResuableCell("foo") as! CustomTableViewCell
  is MORE typing than
  CustomTableViewCell *cell = [tableView dequeResuableCell:@"foo"];


And what the heck does that exclamation mark even do? Will the program then crash on NULL (more unsafe than ObjC) or will it just liquify to Kentucky Bourbon?

Personally, I find the concept of NULL (though toxic) more comprehensible and manageable than all those question & exclamation marks in Swift.


Yup, [nil anyMessageReturnsNil] is probably the best decision ever made in ObjC.


I'm not sure, I've had great fun learning it, and writing it is usually really nice. Sure, there have been pains along the way, but the Apple engineers are doing an amazing job with evolving Swift, intelligently, and very quickly. It is the future, and for many developers I know, it is already part of the present.


It's certainly gotten much better with Swift 2.0, it feels like Apple finally tried to build an app with Swift 2.0 and fixed a lot of the stuff that is horribly broken.


How is it not an Apple spin on, say, Scala? Seems similar.


Hearing one of the core engineers from the LLVM compiler team speak at some length about their aims and approach to Swift, it was cleat that they had reflected long and hard on the approaches of many other languages. This engineer had very informed and nuanced views on the strengths and weaknesses of pretty much any other language you asked about. I'm sure Scala was on this list, also "Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list" — http://www.nondot.org/sabre/


How is Scala not a Java spin on F#? It also seems similar.

I don't see how any of these comparisons diminish the languages in question.


It's like Scala but without all the unknown performance wrappers and confusing code, and with a highly tuned runtime with a minimal library.


Scala and modern C++ had a baby


it(swift) feels that way to me too.. my first impressions were 'scala'.


Happy memories! Mike Lee's talk was amazing, Laura Savino basically gave a masterclass on presenting, and Maxim Cramer had Twitter on fire. What a wonderful week :)


"Swift is here to stay, but Objective-C is not going to fade away quickly. Many developers have existing codebases, but they also have deadlines, and business decisions. There is no fast way to rewrite an app in Swift. So let’s face it, many of you will probably be writing in Objective-C for a while yet."

Nice to see an honest opening!


Javier Soto gave a great talk on Promises/Futures at Swift Summit. There's an edited transcript with code samples, if you haven't got time to watch: https://realm.io/news/swift-summit-javier-soto-futures/


Yes! Javi is a friend and this is a wonderful talk. I highly recommend it for anyone who is interested in this topic!


Spoiler: very hard! Still, some really helpful debugging tips here, thanks Carola :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: