Scala简介

如Scala官网宣称的:“Object-OrientedMeetsFunctional”,这一句当属对Scala最抽象的精准描述,它把近二十年间大行其道的面向对象编程与旧而有之的函数式编程有机结合起来,形成其独特的魔力。

不知你是否看过梁羽生的著作《绝塞传烽录》?里面白驼山主宇文博的绝学:左手“寒冰掌”、右手“火焰刀”,用来形容Scala最为合适了,能够将OOP与FP结合得如此完美的语言,我认为唯有Scala。

众所周知,Java称不上纯粹的面向对象语言,但Scala却拥有纯粹的面向对象特性,即便是1+1这么简单的事情,实际上也是执行1.+(1)。而在对象组合方面,Scala拥有比接口更加强大的武器──特质(trait)。  

Scala同时作为一门函数式编程语言,理所当然地具备了函数式语言的函数为头等“公民”、方法无副作用等特性。

事实上,Scala更吸引我的并不是OOP特性,而是FP特性!一边是OOP、一边是FP,这就是多面的Scala,极具魅力而且功能强大。

在多核时代,现代并发语言不断涌现出来,例如Erlang、Go、Rust,Scala当然也位列其中。Scala的并发特性,堪称Scala最吸引开发者的招牌式特性!Scala是静态类型的。许多人会把vals=”ABC”这样的当作动态类型特性,而vals:String=”ABC”才认为是静态类型特性。实际上,这无关类型争论,而是类型系统实现的范畴。在Scala里,你可以放心大胆地使用vals=”ABC”,而Scala里强大的类型推断和模式匹配,绝对会让你爱不释手。  

此外,Scala作为JVM语言,理所当然享有Java庞大而优质的资源,与Java间可实现无缝交互,事实上,Scala最终当然是编译为Java字节码


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值