七、Go语言
Go语言是静态编译强类型语言,由Google于2009年推出,其初衷是替代C语言做系统开发,但目前来看更多是替代Java做服务端开发。其语法风格与C十分接近,在C语言基础上增加了内存安全和垃圾自动回收功能。
Go语言不以类为依赖,语言非常简练,语法风格上是C和JS的混合体,变量声明是var,数组空间需要提前申请,无需括号和分号。从这段代码来看与C语言差异不大,本质上是C的变体。
Go语言目前在微服务和云原生领域颇受欢迎,在高并发、高可用Web应用中发挥着良好的作用,这部分有取代Java的趋势。Go语言在分布式系统、网络编程领域表现良好,目前最流行的容器编排系统Kubernetes就是Go语言编写,未来更多云原生应用会逐渐采用Go语言。
Go作为新贵,这几年开始在服务端大放异彩,因此如果您是新一代的开发者,那么跳过C 和Java,直接学习Go也是值得推荐的。看下Go的代码风格,您感觉舒服吗?我感觉比起Java好一些。
八、Kotlin语言
Kotlin是JetBrains公司于2011年推出的编程语言,这是一个面向JVM的新语言。JetBrains就是开发IDEA编辑器的公司。
Kotlin代码最终编译成Java字节码class执行,也可以编译成JavaScript,以方便在没有JVM的设备上运行。除此之外Kotlin还可以编译成二进制代码直接在操作系统上运行。
Kotlin也可以看成是一种Java语法糖,是完全兼容Java语法的。Kotlin相当于是简化版的Java,的确Java太臃肿了,Kotlin提供了变量类型、高阶函数、函数独立等,使得编程风格更接近于JS和Python。
在Kotlin 中没有原始类型,一切都是对象。参数一旦将值分配给val,就无法更改。如果想重新分配它,则必须将其声明为var,而在Kotlin的方法中,参数隐式声明为final val,也无法更改参数。因此,这里将number赋值给变量num。
Kotlin语言设计的确很优秀,目前已正式成为Android官方支持的开发语言,所以如果做Android开发,那么直接学Kotlin吧,没必要学Java了。看以下代码是否有Java和JS的影子?
九、Dart语言
Dart是支持即时编译和提前编译的强类型语言,于2011年由Google推出。主要针对JavaScript,对JavaScript一些不适合的特性进行改进,如弱类型,非完全面向对象等。Dart的理念是借鉴Java 语言的数据类型和内存管理机制和面向对象的特征,同时借鉴 Scheme 语言,将函数提升到“第一等公民”(first class),再就是参考 Self 语言,使用基于原型(prototype)的继承机制。这么看来几乎就是JavaScript的翻版或者说是JavaScript增强实现,跟TypeScript不同的时,它并不兼容JavaScript。
Dart语法与JS几乎一致,只不过需要提前编译并且是严格数据类型。但在实际使用上与JS可谓非常接近,熟悉JS或TS的开发者上手几乎零成本。
Dart目前主要用在Flutter框架下,用于Android系统开发App,目前来看未来存在较大不确定性。因此Dart不太适合作为入门语言,而是在你充分掌握JavaScript或Java的前提下去学习它。
注意这里取整除法与其他语言略有不同,如果不加~则得到小数了。
十、Swift语言
Swift是苹果于2014年推出的旨在替代Objective-C的语言,主要用于iOS开发。Swift是静态编译强类型语言,但从语法风格上跟JS有点相似,用var声明,function第一型,结尾不要分号,function缩写为func。似乎也跟Go语言有点像。可以说Swift具有脚本语言的表现力和趣味性,同时具备系统编程语言的严肃性和高性能,取代Objective-C指日可待。但是Swift似乎领域有限,仅限于Mac和iOS客户端开发。
从语言趋势上看,C Java JS的结合体会是大势所趋。尤其是类JS和Python语法,几乎所有最新的高级语言都在吸收JS或Python的简洁优雅特性,当然都摒弃了JS弱类型的特点。从Swift看数组声明也非常方便,无需申请空间和指定长度,可以任意append与移除。看看以下代码,是否与JS几乎一致了?
Swift是所有做苹果和iOS开发所必须学习的语言,但不适合作为编程新手入门学习。因此编程入门还是学更大众和流行的语言为好。