随着 Dotty 的完善,在未来 Scala 会不会反向占领 Kotlin 的市场?

论坛 期权论坛 期权     
Glavo   2018-9-24 01:00   22329   9

Dotty 官网:Dotty

Dotty 文档:Dotty Documentation

Dotty 的 GitHub 仓库:lampepfl/dotty

分享到 :
0 人收藏

9 个回复

倒序浏览
2#
考古学家千里冰封  2级吧友 | 2018-9-24 01:00:27 发帖IP地址来自

会,到时候

Google I/O 8102: introducing new offical Fuchsia developing language: Scala

Glavo的Dotty群『Dotty大』人数从200--一晚上-->2000,吓得Glavo在上班路上地铁里赶紧充了个超级会员。

从此Glavo带领全体Kotlin用户走向Scala,远离org.jetbrains.kotlin.FrontEndException

3#
Glavo  3级会员 | 2018-9-24 01:00:28 发帖IP地址来自

我认为这种事情很有可能发生,下面让我来说说我持这种观点的原因 :

  • Dotty 实现了 SIP 25 所描述的 @static,相当于 Kotlin 的 @JvmStatic,并且有些地方还略强于 Kotlin(譬如能给接口附加静态成员),在未来可能还有希望继续强化(),这允许程序员更细致的控制生成的字节码。
  • Dotty 简化了 Scala,在降低程序员心智负担的同时提升了编译器速度,也降低了实现 IDE 的难度。可以预见在未来 Scala 的 IDE 支持程度很可能可以直逼 Kotlin
  • Dotty 的隐式规则被修改了,新的隐式搜索方案降低了程序员 debug 难度
  • Dotty 有可能还有可能还会引入拓展方法,如果能成功的话,Kotlin 拓展方法写法简单的优势也荡然无存(参见dotty-staging/dotty,对于有多个函数需要为同一个类型拓展的情况下,这个提议中的写法显然要比 Kotlin 要简单)
  • Dotty 的隐式函数类型虽然和 Kotlin 拓展函数类型不太一样,但是在一些时候能达到相同的目的,譬如构建 DSL
  • Dotty 引入了和 Kotlin 一样完善的 inline 功能
  • Dotty 降低了和 Java 交互的难度,譬如比 Kotlin 更强的 SAM 转换(支持 Scala 接口的 SAM 转换)
  • Dotty 未来还可能引入非局部返回,再次减少了 Kotlin 的优势
  • Dotty 新的 enum 简单强大,同样解决了过去 Scala 的痛点
  • 未来 Dotty 还有希望引入类似 @JvmName 的功能,这样下来与 Java 的交互可能不再是痛点
  • 在 Scala 2.13 正式发布后,Dotty 也会跟上脚步用上全新的集合。新的集合远比原先简单、减少了各种高级技巧的使用,同时也优化了性能
  • 我们很有希望用上比原先 SBT 更好的新构建工具 mill,这对于整个 Scala 生态来说都是一个好消息
  • 如果 SIP-NN - Improving binary compatibility with @stableABI 能够实现,二进制兼容问题也会被部分解决

在优势减少大半的情况下,我相信会有更多程序员会选择使用 Scala 而不是 Kotlin。

4#
匿名用户   | 2018-9-24 01:00:29 发帖IP地址来自
提示: 作者被禁止或删除 内容自动屏蔽
5#
Wang Namelos  4级常客 | 2018-9-24 01:00:30 发帖IP地址来自

不会。scala,kotlin这种拼语法糖的语言没有前途,未来是Erlang的

6#
绅士喵  4级常客 | 2018-9-24 01:00:31 发帖IP地址来自

Kotlin 在服务端有没有市场我不清楚,但是在 Android 上已经有巨大的市场了。

Scala 和 Kotlin 相比,对于 Android 应用开发而言还是差一截的。。

7#
圆胖肿  5级知名 | 2018-9-24 01:00:32 发帖IP地址来自

这种添加语法糖和编程范式的语言都是有前途的,包括latte,所以未来是vert.x和graal的

polyglot塞高

8#
苏维  4级常客 | 2018-9-24 01:00:33 发帖IP地址来自

Kotlin 在服务端有没有市场我不清楚,但是在 Android 上已经快被干爸爸谷歌用dart干掉了。

9#
alex023  3级会员 | 2018-9-24 01:00:34 发帖IP地址来自

尽管个人一直努力在scala、akka中折腾,也挺喜欢scala这门语言。但相对与kotlin,scala在未来5年内应该不会超过kotlin。原因很简单:

1、scala及其大部分粉丝过于『高大上』,整天单子(Monad),自函子(Endo-Functor),幺半群(Monoid)这些范畴术语,直接阻碍了一大部分爱好者。

对范畴不了解,可以看看这个:Scala和范畴论 -- 对Monad的一点认识

2、生态链上,Spring更是解决了60%以上java程序员的饭碗,而scala与spring的整合,目前并不好,也发挥不出任何优势。

3、开发方式上,akka、spark的使用群体在java程序员中的占比并不大,尽管几个框架中scala的语法优势表现的真的很棒。即使业务上接触较多的异步响应方式,很多程序员都还不适应。(ps:我最早知道scala还是同学推荐我了解Play框架,之后到了新公司力推Play,但依然用java)

个人喜欢scala的简洁并兼容面向对象的这种方式,也渴望在隐式转换、枚举方面的大量改进尽快落地。Dotty的亮点,只是降低目前Scala的门槛,但相对于比较简单的Kotlin,似乎还多了一些。

但是,但是,如果小规模的公司比较有钱,我还是喜欢招聘scala工程师,起码他们的学习能力不差,高智商,是把?!

10#
张震  3级会员 | 2018-9-24 01:00:36 发帖IP地址来自

未来是颈椎病康复指南的!!!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP