写点什么

苹果发布新的编程语言 Swift

  • 2014-06-03
  • 本文字数:1399 字

    阅读完需:约 5 分钟

在 6 月 3 日凌晨举行的 WWDC 2014 大会上,苹果发布了新的编程语言 Swift。Swift 是一门基于 C 和 Objective-C 的编程语言,它被设计用于开发 iOS 和 OS X 的应用程序。Swift 采用了安全的编程模式并添加了新的主流功能使编程变得更加灵活、简单、有趣。Swift 沿用了 Objective-C 的命名参数和动态对象模型,并提供了对 Cocoa 和 Cocoa Touch 框架的支持。另外,Swift 采用了与 Objective-C 一样的编辑和运行环境 LLVM,因此它可以兼容 Objective-C,开发者也可以在开发过程中无缝切换。

Swift 支持代码实时预览(Swift Playground),开发者在左侧输入代码的同时即可在右侧实时预览代码执行结果。这也就是说 Swift 代码可以被实时编译并输出(同 Objective-C,Swift 会被 LLVM 编译为 Native Code 后运行),开发人员可以拥有更加流畅的编程体验。

据官方介绍,Swift 的运行速度飞快。比如在对复杂对象排序这一功能点上,它的运行速度均快于 Python 和 Objective-C。另外,Swift 允许开发者通过非常少的代码来实现更多的内容。在发布会上,苹果演示了如何通过一行简单的 Swift 代码来完成了一个完整图片列表加载的过程。

Swift 汲取了众多语言的优点,它在保证性能的同时,又不失灵活。下面是 Swift 语言的一些亮点:

  • 整合了闭包与函数指针
  • 元组以及多返回值
  • 兼容 Objective-C
  • 支持代码实时预览
  • 支持函数式编程
  • 协议和扩展

Swift 的发布在社区中引起了热烈讨论,以下是一些来自社区的观点:

来自 Kayac 的王巍认为Swift 是无数工程师和语言设计天才的努力的成果,吸收了众多语言的精华,是一门先进的编程语言。相比Objective-C,Swift 更加简单和易学,并且Swift 可以和原来的Objective-C 或者C 系的代码混用(注意:不同于Objective-C 和C++ 或者C 在同一个.mm 文件中的混编,Swift 文件不能和Objective-C 代码写在同一个文件中,需要将两种代码分开),所以这门语言应该值得开发者学习和使用。另外,按照苹果开发者社区的一贯的跟进速度,在不久的将来,Apple 很可能会果断放弃对Objective-C 的支持,而全面转向Swift。

来自Google 的 peng_gong 认为,Swift 有很多新特性,它吸收了大量其它编程语言中的元素,比如 C#中的属性、可空值语法和泛型,Java 的枚举类型,Objective-C 的协议和扩展,Haskell 风格的区间声明语法,Python 风格的当前实例引用语法,大杂烩的好处就是任何其它编程语言的开发者都不会觉得 Swift 陌生。Swift 简单且交互性极强的编程环境可以吸引更多的开发者来开发 iOS 和 OS X 的应用程序。

旧金山的 Web 开发者 Kevin Ingersoll 认为,对于 Web 开发者来说 Swift 的学习难度要比 Objective-C 低很多,以前他曾经想写 App,但是 Objective-C 的学习障碍令他望而却步,现在这个障碍消失了。

资深 Objective-C 开发者 Mike 则对 Swift 的推出感到烦恼。因为他喜欢 Objective-C,不想学习新的语言。对于他来说,Swift 相比 Objective-C 的优势尚不明朗。他对 Swift 的第一印象是为了创新而创新,他害怕新老开发者会在是否要使用 Swift 这个问题上造成分歧(老的坚持 Objective-C,新的用 Swift)。

苹果同时发布了支持 Swift 的 Xcode 6 Beta 版本,读者可以登录苹果开发者中心下载 Xcode 6 Beta。更多关于Swift 语言的介绍读者可以阅读 Swift 开发指南。另外,FullStack 在其 GitHub 上提供了 Swift 版本的 Flappy Bird,读者可以参考学习。欢迎读者在评论中与我交流 Swift 语言相关问题。

2014-06-03 04:534112
用户头像

发布了 219 篇内容, 共 138.7 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

旧世界OldWorld Mac版下载安装 含dlc 旧世界OldWorld 中文版

理理

网页文本分类题赛后总结(排名第二)

阿里云天池

MES系统到底能解决企业什么问题?

万界星空科技

制造业 生产管理系统 mes 万界星空科技

Pinterest 选择采用 TiDB

TiDB 社区干货传送门

【论文速读】| 在安全运营中心使用大语言模型来实现威胁情报分析工作流程的自动化

云起无垠

金融知识挖掘

阿里云天池

搜款网商品列表数据接口(vvic.item_search)使用指南

tbapi

搜款网 搜款网API接口 搜款网商品列表数据接口 vvic VVIC网数据采集

淘宝商品详情API返回值中的商品标签与分类

技术冰糖葫芦

API 安全 API 文档 API 测试 pinduoduo API

在日本为什么 mysql都被tidb所替换?

TiDB 社区干货传送门

数据库架构设计 8.x 实践

为啥你心里想了什么抖音就会给你推什么?

客户在哪儿AI

人工智能 ToB营销 大客户营销

【TiDB 社区智慧合集】TiDB 在核心场景的实战应用

TiDB 社区干货传送门

Datawhale 零基础入门CV赛事-Task4 模型训练与验证

阿里云天池

[亲测兼容m1/m2]战锤 40000 盗贼商人for mac破解版 战锤 40000 盗贼商人游戏下载

理理

能帮你找到大客户的企业全历史行为数据长什么样?

客户在哪儿AI

人工智能 ToB营销 大客户营销

实时3D渲染 KeyShot 9 Pro中文版 及KeyShot 9 Pro安装教程 mac/win

理理

iPhone可运行的谷歌Gemma 2 2B模型,性能超GPT-3.5

硅纪元

gpt4o Gemma 2

axure rp8安装包 Axure RP 8 中文授权版下载 mac/win

理理

苹果手机数据恢复Disk Drill pro中文版下载 Disk Drill破解版 for mac/win

理理

从代码操作到洞察发现:API 接口中的商品详情数据世界

Noah

比特币价格跌破 63,000 美元,引发清算潮激增

dappweb

TiDB CDC 近期遇到问题总结

TiDB 社区干货传送门

监控 迁移 集群管理 管理与运维

学习软件测试有哪些培训机构?

测试人

软件测试

瓜子二手车在财务中台结账核心系统 TiDB&TiFlash 实践

TiDB 社区干货传送门

数据库架构选型 HTAP 场景实践 数据中台场景实践

TiDB监控prometheus常用技巧

TiDB 社区干货传送门

监控 实践案例 集群管理 管理与运维

tidb8.1的磁盘选择,关于网络ssd,和本地ssd的选择对性能影响很大,差距60倍。

TiDB 社区干货传送门

8.x 实践

One Switch mac版 菜单栏一键开关控制神器

理理

第三届Apache Flink 极客挑战赛暨AAIG CUP比赛攻略_大浪813团队

阿里云天池

【IT运维】医院IT运维难点解析看这里!

行云管家

医院 IT 运维

支持纳管达梦数据库的堡垒机有哪些?咨询电话多少?

行云管家

数据安全 堡垒机 国产化

大型IM稳定性监测实践:手Q客户端性能防劣化系统的建设之路

JackJiang

即时通讯;IM;网络编程

望繁信科技CEO索强出席2024新质生产力生态大会,畅谈中国AI聚沙成塔之路

望繁信科技

流程挖掘 流程资产 流程智能 望繁信科技 中国AI

苹果发布新的编程语言Swift_Apple_小盖_InfoQ精选文章