Q&AApple’s Craig Federighi talks open source Swift, Objective-C and the next 20 years of development

Q&A: Apple’s Craig Federighi talks open source Swift, Objective-C and the next 20 years of development# The Next Web: Why did you open source Swift?Why did you decide now was a good time to open source Swift? The language is still very young and dynamic.Apple released Swift under the Apache 2.0 license. You’re posting the code to GitHub, but also have a dedicated website for Swift. How does Apple plan to support the developer community with this open source effort?Where should developers seek interaction from Apple: GitHub or swift.org?Where does this leave Objective C?Was part of open sourcing Swift to aid enterprise?Finally, what do you hope an open source Swift will accomplish? Similarly, do you have any concerns about it being open?

Q&A: Apple’s Craig Federighi talks open source Swift, Objective-C and the next 20 years of development

Apple has a lot of open source efforts, but none as big or important as Swift. In announcing Swift as an open source project at WWDC earlier this year, Apple’s Senior Vice President of Software Craig Federighi said it would be the language we use for the next 20 years.

I recently spoke with Federighi to discuss some of the finer points of Apple’s latest open source effort, and where Swift (along with the developer community) is headed.

# The Next Web: Why did you open source Swift?

Craig Federighi: We think Swift is the next major programming language; the one people are going to be programming in for the coming several decades. We think it’s a combination of it being a great systems and apps programming language that’s fast and safe, but also being really expressive and easy to learn.

It’s the perfect programming language for anyone who is learning to program all the way to writing systems. We want everyone to learn Swift as their primary language, and we want — when developers invest in Swift — to be able to use it everywhere from scripting to apps for mobile down to writing code in the cloud.

We think the best way to enable all of that is to open source it.

Why did you decide now was a good time to open source Swift? The language is still very young and dynamic.

In part because everything with Swift has happened at such an incredible pace. We love Swift, and we thought our developer community would love it too, but the reception has blown us away.

I think there’s such hunger out there right now. We’ve had partners come to us and say ‘we love Swift and we want to use it everywhere.’ IBM is an example of that.

People are investing in Swift right now. There’s a demand and a need to make it available. At the same time, we feel Swift is at a state of — while it’s still an evolving language — readiness, and now is the right time to bring it out into the open.

We knew when we released Swift 1.0 that it would not be the right time. As we were working on Swift 2.0, we knew we were working toward a point of stability where we could open source it. When WWDC rolled around, we realized we were ready, and this was the year to make that happen.

Apple released Swift under the Apache 2.0 license. You’re posting the code to GitHub, but also have a dedicated website for Swift. How does Apple plan to support the developer community with this open source effort?

We wanted to make sure we had a standard and permissive license that was well recognized. We added a runtime exception to make it even more permissive so that people don’t have to worry about embedding attribution of the write programs that use Swift and embed the runtime.

So this is a true open source project in every sense. It’s being developed out in the open, and all the code is up on GitHub. All of our development, day to day, is happening in the repository for everyone to watch as it unfolds.

Future language direction, like things we plan to do with Swift 3.0, are also being announced to the community today on swift.org.

We expect that many will contribute, and we’re open to patches from anyone. Ultimately we expect to have a strong set of contributors from outside Apple working on the project.

I think the Apple developer community has already seen that the Swift team is really open and has been taking feedback since the moment Swift was released. Even some of the changes made in Swift 2.0 were heavily influenced from developer feedback [on Swift 1.0].

Now with Swift development occurring out in the open, I think we’ll see that taken to a different level.

Where should developers seek interaction from Apple: GitHub or swift.org?

We see swift.org as a sort of initial hub. If you go there, it directs you to things like the ‘getting started’ guide or a download for the current build of Swift for OS X, iOS, tvOS and Linux. It also has overview content about the project and sub-projects, and links off to the Git repository where all the source code is.

[Side note: swift.org is where developers should file issues or comments, while the code hosting is done on GitHub. Filing patches would need to go through GitHub, and compiler issues should get their own Radar via the Apple Developer portal.]

Where does this leave Objective C?

Objective C is forever. I don’t think anyone should fear for the future of Objective C. We’re going to continue to support Objective C for ourselves and the developer community.

We think Objective C is still a great language, and Apple has an investment in many many millions of lines of Objective C, and that’s not going to change.

At the same time, we do think developers new to our platforms that need to pick a language to learn, and write an app, Swift is the right place to start and invest. The productivity advantages and power of Swift are where we think new developers should focus their energies.

Was part of open sourcing Swift to aid enterprise?

As people become invested in Swift and train their enterprise developers in building the client-side mobile apps in Swift, the developers love it and want to take those skills and even share some of the model-level code from their applications and run it in the cloud — and they want to do it in Swift. They’re seeing the advantages of the language.

IBM has been a major source of that feedback for us, and they’ve been eager since they got started with Swift, saying “how can we take these applications we’re writing for enterprise all the way from the mobile platform into the cloud?”

So open sourcing and having a runtime that can run on Linux is going to make that possible in a big way.

Finally, what do you hope an open source Swift will accomplish? Similarly, do you have any concerns about it being open?

In terms of where we hope the open source project will take Swift, it comes back to the original goals of making Swift the language you learn to program in from the outset, and know that when you learn it you’ll be able to use it to accomplish everything you want to accomplish, all the way from building mobile applications to cloud development. Open sourcing it creates a really clear path to what was already starting to happen.

If a university wants to revise their core curriculum and start teaching programming in Swift, it being open source really makes that an easy decision for them to make.

If you’re a developer thinking “hey, can we go Swift front to back?”, now they have it.

Where we expect the community to really push is the cloud framework, and we think there will be a lot of energy to adapt Swift into the datacenter. There’s a lot of good work to be done there, and we feel the community is in the best position to do that.

We can see all kinds of specialized Swift toolkits being created for big data, machine learning — you name it, I think there will be a really vibrant community around all of those things.

Ultimately, this kind of energy will create even more focus around tools that will even benefit developers on Apple’s core platforms.

We didn’t have significant concerns about where we didn’t want developers to take it. We say “the more Swift, the merrier.”

undefined

转载于:https://www.cnblogs.com/xilifeng/p/5019030.html

open source Swift, Objective-C and the next 20 years of development相关推荐

  1. 《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用

    原创文章,欢迎转载.转载请注明:关东升的博客 参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以 ...

  2. GitHub上Swift语言指南

    Swift 语言指南 @SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并 ...

  3. 汇集了很多swift 学习指南

    https://github.com/ipader/SwiftGuide 1,059  Unstar 7,294 Fork1,966 ipader/SwiftGuide  Code  Issues 0 ...

  4. Swift 语言指南

    Swift 语言指南 @SwiftLanguage 更新于 2016-1-5,更新内容详见 Issue 43.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并 ...

  5. IOS开发—Using UIGestureRecognizer with Swift Tutoria

    2019独角兽企业重金招聘Python工程师标准>>> Update note: This tutorial was fully updated for iOS 8 and Swif ...

  6. 21个高质量的Swift开源iOS App

    原文:21 Amazing Open Source iOS Apps Written in Swift 对Swift初学者来说,学习开源项目,阅读源码是个不错的方法.在这篇文章中,基于对代码质量和排名 ...

  7. 如何为Swift进行宏定义

    这阵子一直在自学Swift, 因为之前iOS的开发一直用Objective-C, 所以习惯了C语言那种宏定义方式, Swift作为一款更加安全的语言, 放弃了C语言中的宏定义, 有效的防止预编译时代码 ...

  8. [译]百里挑一:21个优质Swift开源App

    原文链接:21 Amazing Open Source iOS Apps Written in Swift Mybridge AI 根据代码质量和start排名从900多个开源项目中选出21个开源项目 ...

  9. Swift 编译器中间码 SIL

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者 | Roy 来源 | roy's blog h ...

最新文章

  1. 两个对于Apriltag图片处理问题讨论
  2. android中xml tools属性详解
  3. MongoDB与Cassandra的比较
  4. 计算机二进制加减符号,(带符号的二进制数的表示方法及加减法运算).ppt
  5. 口语学习Day5:今天聊聊美国路牌PED XING是什么?
  6. 成功解决ERROR: Could not find a version that satisfies the requirement xgboost (from versions: none) ERR
  7. Python中的eval--字符串解析
  8. M2 Spec: an update of M1 Spec
  9. 论文解读 | 利用脑功能连接实现疲劳驾驶检测
  10. Google Chrome Native Messaging开发实录(一)背景介绍
  11. flatMap()与concatMap()与concatMapEager()– RxJava常见问题解答
  12. C++学习笔记章节中 面向对象详解
  13. VB案例:DAO使用示例1
  14. 全局变量定义的时候左侧加了static_c语言中static 用法
  15. cgroup学习(二)——cgroup框架结构
  16. 随机森林matlab实现
  17. ios、android、h5、小程序等安卓苹果平台终端兼容问题
  18. 五笔字根表识别码图_五笔字体识别码规则图 五笔输入法字根表
  19. jspm体检信息管理系统毕业设计(附源码、运行环境)
  20. BZOJ 1050 旅行comf

热门文章

  1. [JAVA-坑]CGLib动态代理引起的空指针异常
  2. Inception网络 运行在Cifar10 测试集87.88% Tensorflow 2.1 小白从代码实践中 理解
  3. Iverson Bracket. 艾弗森括号
  4. excel利用countif/match/lookup函数对比分析数据
  5. 利用NSight进行交叉编译
  6. 内存管理检查方法和工具
  7. 多径传输系统MATLAB代码,求助大佬帮忙写毕设代码啊。。用matlab做MIMO-FrFT-OFDM系统...
  8. python字典弱引用_如何使用弱引用优化 Python 程序的内存占用?
  9. mysql报904_数据库错误码[-904]
  10. web mysql 报表_由简到难生成数据库报表(一)