最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

替代 Objective-C?Swift 尚不成熟

  • 2014-06-04
  • 本文字数:1607 字

    阅读完需:约 5 分钟

在今年苹果的开发者大会上,最引人注目的当属新的编程语言 Swift 的发布。Swift 是一门苹果自主开发的编程语言,它由 LLVM 的创始人 Chris Lattner 在 2010 年开始着手设计,目标是在保证应用质量和性能的前提下,让应用开发变得更加简单、快速。苹果宣称 Swift 的特点是:快速、现代、安全、互动,且全面优于 Objective-C 语言。为了给 Swift 打好基础,苹果公司改进了编译器、调试器和框架结构,不难看出苹果在 Swift 的设计上也煞费苦心。社交媒体上一时间铺满了对 Swift 的讨论:

JavaEye 的创始人 Robbin 在微博中写到:“Swift 目前只是提供了一种脚本编程语法,编写代码的效率提高不了多少,对程序员来说,熟悉 Swift 语法也不过一天时间足够了。关键是要提供高级数据类型,简化 Cocoa 类库,否则用不用 Swift 都没区别。当代的程序员,主要学习成本不在编程语言的语法上,而在语言提供的特殊数据类型和庞大的类库上。”

CNET 的 Tim Stevens 认为 Swift 是一门具有巨大潜力的编程语言,它在结合了脚本语言与传统编译语言的优势的同时,又兼有更快的执行速度(从几项关键指标来看)。Swift 的脚本特性以及实时预览功能可以帮助开发者方便快捷地编写并测试应用程序。但 Swift 也没有想象中的那么美好,Objective-C 在开发应用方面相对比较成熟,并且有了完整的生态圈,Swift 想推倒一切重新开发,恐怕还需要一段时间。

资深 iOS 开发者郭亮认为Swift 对于准备学习iOS 开发的新手来说是个好消息,毕竟它的入门门槛比较低,但对于已经习惯了Objective-C 的上百万开发者来说,又是一件痛苦的事情!因为他们已经爱上了Objective-C。Swift 虽然门槛很低,但要真正熟练,道路依然荆棘,Protocol、Extension、继承、多态还有闭包,真的没那么简单。语言刚刚发布,还会有许多的不完善,其性能、效率还有待验证,并且相关资料非常少,应该只有苹果官方的文档,也没有开源社区的支持。所以Swift 短期内取代Objective-C 的可能性非常小,目前想用Swift 单独作为项目的开发语言,那将是灾难性的。

iOS 开发者黄兢成也在知乎上发表了自己的看法,他认为Swift 吸收了很多其它语言的语法,写起来比Objective-C 简洁得多,不过它的核心概念和Objective-C 差不多,比如引用记数、ARC、 属性、协议、接口、初始化、扩展类、匿名函数。至于大会上提到的可视化编程,他目前尚不清楚如何能较好的应用到实际项目中。Xcode 6 beta 版本对Swift 的语法提示支持也不好。Swift 在实际项目中的使用还需要一段时间,但他相信苹果发布Swift,绝不是玩玩而已。

CocoaChina 上的 xu54 认为 Swift 本质其实就是 Objective-C 的文本变种,对于这门全新的语言,苹果做的工作其实远没有我们想像的艰巨。LLVM 编译器做工作只是先把 Swift 翻译成 Objective-C 代码,然后再把 Objective-C 代码翻译成 C 语言代码,然后再把 C 语言代码翻译成汇编,最终翻译成机器码。至于为什么编译器厂商这么绕,不直接把自己的语言翻译成汇编和机器码,那是由于现有的语言编译器(Objective-C、C ) 已经非常成熟,而高级语言间的文本转换开发成本和维护成本都极其小。Swift 之所以要翻译成 Objective-C,是由于 Swift 仍然需要 Objective-C 中的 ARC、GCD 等环境。既然 Swift 其实就是 Objective-C, 对入门者而言远比 Objective-C 好学,对资深开发者来说又能节约很多无谓的低级重复的机械代码(这些代码在 LLVM 翻译成 Objective-C 时,编译器自动帮你写上),并且开发者关注的应该是业务逻辑,而不把精力分散在语法等低级问题上,语法消耗的时间越少,这门语言也就越成功,所以他觉得 Swift 必定会替代 Objective-C。

社区对 Swift 的评论好坏参半,Swift 的优势很明显,短板也很明显。新语言的成熟不可能一蹴而就,我们还需要有更多的耐心来等待 Swift 的成熟,不过我相信这个过程不会太久。苹果愿意舍弃成熟的 Objective-C,转而开发新的编程语言,这足以让我们看到一家世界级公司的魄力与创新力。

2014-06-04 01:087282
用户头像

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

关注

评论

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

RocketMQ 顺序消费机制

Java你猿哥

Java RocketMQ 获取 topic等信息 ssm

软件测试 | 应用程序签名机制实现的源代码分析

测吧(北京)科技有限公司

测试

简洁高效:Java代码中If-Else结构的优化实践与技巧

xfgg

Java 代码优化

Mac电脑怎么删除VMware Fusion虚拟机系统,vmware fusion如何删除虚拟机

Rose

VMware Fusion虚拟机 Mac虚拟机 删除虚拟机教程 Win系统

Hazel for Mac(自动化清理软件)v5.2.2激活版

Rose

Mac清理软件 Hazel 下载 Hazel Mac版 自动化文件管理工具

破防了!阿里大佬DDD(领域驱动设计)不破不立,GitHub直接霸榜

Java你猿哥

Java 领域驱动设计 DDD ssm 领域驱动

基于Spring Boot+VUE Java小程序商城项目(附源码),接私活利器

Java你猿哥

Java 小程序 源码 Spring Boot Vue

CleanMyMac闪退怎么办?解决CleanMyMac X闪退

魔仙苹果mac堡

mac系统清理优化软件 CleanMyMac下载 CleanMyMac闪退 CleanMyMac最新版

史上最全MySQL各种锁详解

Java你猿哥

MySQL 乐观锁 悲观锁 事务/行级锁

软件测试 | 测试贯穿整个项目流程

测吧(北京)科技有限公司

测试

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

西柚子

MySQL踩坑笔记,加了唯一索引还会出现重复数据?

Java你猿哥

Java MySQL sql ssm 索引

实用自定义 Mac Dock 的隐藏终端命令

Rose

Mac Dock 自定义Dock

mac专业矢量绘图设计Sketchv96.3中文激活版

魔仙苹果mac堡

Sketch中文版 Sketch最新版 Sketch破解 Mac矢量图设计

IDEA 终端命令行设置

Andy

Mac版PS2023 24.5 大更新,新增4大AI功能,看完忍不住换了!

Rose

PS2023最新版 PS支持AI功能 Photoshop破解

揭秘!为何阿里P8亲身经历撰写的架构师核心笔记竟如此成功

Java你猿哥

Java 领域驱动设计 软件架构 架构师 分布式架构

OpenHarmony 3.2 Release新特性解读之驱动HCS

OpenHarmony开发者

OpenHarmony

DMG镜像制作软件:DMG Canvas 激活版

真大的脸盆

Mac Mac 软件 镜像文件制作工具 镜像文件管理

Mac电脑Photoshop 2023 Beta版完美解锁!打字生成图像,Ai绘图功能版!

魔仙苹果mac堡

Ps最新版下载 Photoshop2023破解 Ai绘图

你了解LED显示屏的安装方式吗?

Dylan

安装 LED LED显示屏

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

Java你猿哥

MySQL redis Spring Boot mybatis 多线程

科兴未来|深圳创新创业大赛开始啦!

科兴未来News

企业 深圳 #双创赛事# 新能源行业 深创赛

从2000ms缩短到50ms,亿级ES数据搜索性能调优实践

Java你猿哥

Java elasticsearch ELK ssm ES

基于数据驱动 U-Net 模型的大气污染物扩散快速预测,提升计算速度近6000倍

飞桨PaddlePaddle

人工智能 深度学习 百度飞桨

跨平台开发的优势:ReactNative与小程序容器

没有用户名丶

Python实现KNN算法

TiAmo

算法 决策 KNN算法

StampedLock:高并发场景下一种比读写锁更快的锁

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

软件测试 | 软件开发的几个阶段

测吧(北京)科技有限公司

测试

终极指南!Terraform的进阶技巧

SEAL安全

IaC Terraform 5月 企业号 5 月 PK 榜

Parallels使用到期怎么办?PD17虚拟机无限试用版安装教程

Rose

Parallels Desktop 17下载 Parallels到期 PD17虚拟机 PD无限试用版

替代Objective-C?Swift尚不成熟_Apple_小盖_InfoQ精选文章