Swift真的有那么好吗?是否有必要学习

本文深入比较了Swift与C++、Golang、Haskell、Rust等语言在语法特性上的异同,如类型别名、可选类型、枚举支持元组、fallthrough等。同时,讨论了Swift的性能表现,强调了其编译器优化对提升效率的作用。此外,文章提及Swift在Objective-C混合编程中的应用,以及在工程角度面临的生态环境成熟度问题。
摘要由CSDN通过智能技术生成

一  从语法角度,他的优势点

最近,除了N多的基于Swift的服务端开发框架,笔者不由深思,到底该这么评价Swift呢?不可否认,在iOS的开发领域,Swift是比OJC拥有着优势,那么在通用语言这个层次上比较时,它又如何呢?Apple 在推出 Swift 时就将其冠以先进,安全和高效的新一代编程语言之名。前两点在 Swift 的语法和语言特性中已经表现得淋漓尽致:像是尾随闭包,枚举关联值,可选值和强制的类型安全等都是 Swift 显而易见的优点。

1. Comparison

  oc java c# c++

swift

python
值对象 没有 没有
指针(缺陷) 没有 没有 没有 没有
内存管理 引用计数 垃圾回收 垃圾回收 智能指针(缺陷) 引用计数 垃圾回收
多返回值 没有 没有 没有 没有
脚本语言特性 没有 没有 没有 没有
移动端支持 ios android 游戏 游戏 ios 较少(缺陷)
             

近来Swift与Rust都挺好的,一个背靠Apple,一个是Mozilla的亲儿子。不可否认这二者都是工程领域的集大成者,不过笔者认为Swift是会比D或者Rust具有更大的可用性与吸引力,当然,他们的瞄准的目标点也不一样。D与Rust适合于那些长期使用C++并且已经适应了要去掌握N多的语法与概念的,但是想要使用些更加清晰明了与安全的语言。这类型的开发者往往从事着类似于游戏引擎、编译器、加解密库、HTML渲染引擎等等类似的工作。

Swift呢,更多意义上是一门面向于应用编程的语言,它很容易上手,在某些方面它应该与Go、Java、Python以及C#相提并论。不过Swift比这些会更容易开始学习,它的helloworld只需要一行代码就好了,并且它是支持函数的(不像Java那样完全的OO)。你不需要学习任何的类与对象的知识就可以开始撰写简易的Swift的代码。基于此,Swift是更合适用作一种教学语言的,它还有像脚本语言一样的交互环境,也就是REPL以及Xcode本身提供的PlayGround。

综上所述,Swift拥有着被广泛使用以及当做第一学习语言的潜质。并且,Swift并不是像PHP那样的语法特性较少的语言,它拥有足够的深度来满足Rust或者D这样的用户的需求。与Go相比的话,Go背靠Google,也是个非常容易上手的语言,并且号称自带并发。Swift在语法层次上会更加高级,并且Swift并没有使用GC机制,因此可以与C更好地相兼容。也就是说,你可以用Swift编写任何的库来供任何语言使用,只要这些语言可以使用C的库。这些特质保证了Swift拥有着比Java、C#、Python、Ruby以及Go更广阔的适用范围。后面这几个家伙,因为有GC的存在,不适合为其他语言提供基本库。我也很喜欢Go,但是毫无疑问,S

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值