Paris Buttfield-AddisonSecret Lab的联合创始人、移动应用工程师,以及游戏设计师。Secret Lab是一家游戏开发公司,他们致力于使技术变得简单又有趣。Paris拥有计算学博士学位,同时也是一位历史学士。他之前作为产品经理为硅谷的Meebo公司工作,这家公司在2012年被Google收购。他撰写了一系列关于iOS和游戏开发的技术书,其中包括《学习Objective-C与Cocoa框架》,《iOS游戏开发攻略》,《Swift与Cocoa框架开发》,以及《Unity移动游戏开发》。

iTuring: As a bachelor of history, how did you become an iOS master and a game development expert?

In addition to studying medieval history, I also have several degrees in Computing (Honours degree, and a PhD). I find that the background in studying History helps to give me a different perspective on technology to many people, and I find history a lot of fun.

iTuring: After Swift 2.0, does Swift Development with Cocoa still stay relevant? Should it be renovated at some place?

Swift 2.0 has a number of syntactic changes, but the philosophy of the language remains the same. The book is still relevant, if a little out of date –– we’ll be releasing a changelog for the book, that outlines the differences between the code printed in the book, and what you would do with Swift 2.0 on our blog (http://secretlab.com.au/blog/) in the near future. We’re also working on a new book, called “Learning Swift”, which is brand new and covers Swift 2.0: http://shop.oreilly.com/product/0636920045946.do?code=WKIOS9

iTuring: In your opinion, what will open source of Swift change about its ecosystem and dynamics between iOS and Android?

I don’t think it changes much. The previous Apple developer language, Objective-C, was pretty obscure before iOS came around, and Swift has already had a big uptake. I think, if anything, open source Swift will mean that people might write their server software in Swift as well, which would result in a bigger, better community. I don’t think it says much between iOS and Android; Java is a very old, almost legacy language at this point, and Swift is modern. It would be cool if Google maybe updated their Android environment to a modern language like Swift –– in fact, Google already has a modern language (“Go”), but they don’t use it for Android… yet..!

iTuring: What does Swift integrate from other languages? What are the favorite features you like about Swift?

Swift learnt a lot from languages like Rust and Python. My favourite feature of Swift is how it tries to be inherently safe; it’s very difficult to make mistakes in Swift, because it enforces so much “good style”.

iTuring: Why hasn't Swift been employed by many companies in their production environment?

Because it’s new and in a state of change. With the release of Swift 2 I suspect (but can’t be sure) that Apple will change less, which will mean Swift is picked up by more mobile developers for their production apps. Things like bit code, where the App Store itself will compile and link apps for users who download/purchase them, mean that Swift is truly essential for future apps.

iTuring: Is it possible that Swift will take place of Objective-C completely in the future?

Yes, it already has for us! And it should for serious developers any time now. It’s an important step to take.

iTuring: What do you recommend a beginner to learn first, Objective-C or Swift?

Swift! There’s no need to learn Objective-C these days!

iTuring: In the process of learning programming languages, when is the best time to engage with masses of libraries and APIs? Is it necessary for a programmer to know every API he/she might use?

No! I don’t remember most of the APIs we use, I just look them up as I go. Learn the language before you learn the frameworks and APIs.

iTuring: Is it inevitable to learn C before moving on to Objective-C and Swift?

No! Learn Swift to begin, it’s a great, fun, easy, and safe language. Learn C later when you want to understand how things are working underneath.

iTuring: For a master of iOS development, what does his/her knowledge framework look like?

I do a lot of design as well –– building good mobile apps (or apps of any kind, these days) requires a good design sense! Learn design, and people respond to well in design.


更多精彩,加入图灵访谈微信!