dart 语言是jvm_为什么同样是JVM上的语言,谷歌选择了Kotlin,而不是Scala?

你说的是安卓吧,谷歌在安卓上用kotlin来延续java,不再用java的api,而是用kt,dalvik上的语言

那这么说,你说sc比kt灵活,强大,好,姑且就算你说的对,sc比kt强大且灵活

但是

kt有两个重要的特性,是当时sc没有的

一个是可以await也就是coroutine,kt三大吹里面coroutine出镜率极高

还有一个top level function,顶层成员,尤其是函数

sc的dotty,也就是scala 3,我只看到glavo转过来说,会加入顶层函数,但是coroutine以及基于coroutine实现的await,估计不会自己做了,那目前进展上看,我估计java的loom还会更早出来,到时候sc直接用loom就是了,反正loom也没有增加任何的关键字,jvm上所有语言都兼容java的api,所以可以直接用java的loom

那是这样,在客户端开发里面,await是一个极为重要的功能,你自己动手做一下gui等客户端的开发就知道了,有await和没有await,两码事

那谷歌其实也仅仅是在安卓上用kt来延续生命,但是我们都知道,谷歌在做fuchsia,而fuchsia钦定的gui是flutter,语言是dart,dart还为flutter做了优化,所以谷歌说dart是根据客户端优化的语言,这个应该在flutter的一些宣传材料上可以看到

那flutter里面的dart有没有上述两个特性呢?

当然有

所以为什么选择kt,因为kt比sc更适合做gui,客户端开发的语言,有我们在开发gui,app时候所需要的特性,也就是await/coroutine和顶层函数

oop在gui以及游戏等领域的开发,是非常重要的,你说的scala更为强大灵活,那是因为sc比kt在fp这一个paradigm上走得更远,但是我开发个gui,app,你说搞fp,你确定吗?

gui,客户端开发,基本上都是跟java相像的语言,比如dart,swift,kotlin这些,都可以简单认为是java++,因为他们都保留了java的绝大多数特性,然后在此基础之上,再做了发展和延续

而且java最早也是做gui出名的,applet那些,像mvc等设计模式,最早就是用在客户端gui上,v就是ui嘛

这些东西,你动手做一下就知道了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值