cirton
V2EX  ›  程序员

有没人觉得 scala 语言很难?

By cirton at 2019 年 4 月 17 日 · 9301 次点击

感觉 scala 比 java,python 等常见语言都要难。 讲真,API 文档都很难看懂,那一堆符号,看得头大。 一些高级功能更是难以理解。

44 条回复  •  2019-04-18 14:57:13 +08:00
liujianwei
   1
liujianwei  
   2019 年 4 月 17 日   ❤️ 1
Scala 不是号称 JVM 上的 C++嘛~
glaucus
   2
glaucus  
   2019 年 4 月 17 日
Scala 本来就难啊
keenkiller
   3
keenkiller  
   2019 年 4 月 17 日
最复杂的语言
linusyang
   4
linusyang  
   2019 年 4 月 17 日
官方吐槽,最为致命。

beneo
   5
beneo  
   2019 年 4 月 17 日
当年 Scala 用的最多的 spark,后来 spark 的替代品也出来了,Scala 就不怎么用了
sonicjam
   6
sonicjam  
   2019 年 4 月 17 日
那一堆符号指的是 scala 的类型系统?
13k
   7
13k  
   2019 年 4 月 17 日
@beneo spark 的替代品是啥
cirton
   8
cirton  
OP
   2019 年 4 月 17 日
@13k 指的是 flink 吧
btv2bt
   9
btv2bt  
   2019 年 4 月 17 日
可能用的比较深,喜欢的话可以用 JAVA 那种方式 ( doge
cirton
   10
cirton  
OP
   2019 年 4 月 17 日
@linusyang 中间那行大标题是啥意思?
cirton
   11
cirton  
OP
   2019 年 4 月 17 日
@liujianwei 感觉比 c++都难。。
beneo
   12
beneo  
   2019 年 4 月 17 日
@13k storm
F281M6Dh8DXpD1g2
   13
F281M6Dh8DXpD1g2  
   2019 年 4 月 17 日
scala 那堆符号是挺难理解的
rockyou12
   14
rockyou12  
   2019 年 4 月 17 日   ❤️ 1
不只复杂,和原生 java 兼容性烂得一 B,写个 list 转换都难受得要死
ihainan
   15
ihainan  
   2019 年 4 月 17 日
Scala 我觉得还行,写多了也能读懂那一堆语法糖,但是 SBT 真是一个不知道怎么吐槽的工具。

https://www.reddit.com/r/scala/comments/5a6muj/sbt_makes_me_want_to_give_up_scala/
salamanderMH
   16
salamanderMH  
   2019 年 4 月 17 日
lisp 如何
sonicjam
   17
sonicjam  
   2019 年 4 月 17 日
@ihainan #15 感谢分享这个贴子,原来真的不是我英语不好……
ihainan
   18
ihainan  
   2019 年 4 月 17 日
@sonicjam 哈哈我一开始读 sbt 的文档也是跟你一样的想法,脑壳疼…
blueskea
   19
blueskea  
   2019 年 4 月 17 日 via Android
@cirton flink 很多东西是 scala 写的啊
lululau
   20
lululau  
   2019 年 4 月 17 日
同感 Scala 是最难的语言了,一般编程语言里比较复杂的部分是类型系统,Scala 的类型系统是我见过的最复杂的了
em998
   21
em998  
   2019 年 4 月 17 日 via iPhone   ❤️ 1
scala 写出来的就是文言文
mangoDB
   22
mangoDB  
   2019 年 4 月 17 日
最近刚刚接触 scala,真的晦涩难懂……
coolmenu
   23
coolmenu  
   2019 年 4 月 17 日 via iPhone
还是 clojure 好用点...
monsoon
   24
monsoon  
   2019 年 4 月 17 日
其实比 C++简单多了,而且语法都很有条理(那些没条理的很多 Scala 3 里面也会删除了)……我觉得 Scala 最难的那部分是如果你要懂 fp,要把 Haskell 那套东西学一遍比较难。
比 Java 和 Python 复杂是的,但是你不用 Macro 或者 Type level 的那些东西,熟悉一段时间就会好起来的……
saluton
   25
saluton  
   2019 年 4 月 17 日
@beneo 你说 Flink 我还信,storm 替代 spark 有难度吧
lastpass
   26
lastpass  
   2019 年 4 月 17 日 via Android
感觉还行,难倒不是很难,但是有些编码风格贼不喜欢。比如,返回值可以不加 return,每行代码之间可以不加分号。然后 idea 还默认这个为警告。
hantsy
   27
hantsy  
   2019 年 4 月 17 日
java 8 吸收了很多 Scala 设计,现在 Java 也开始添加了 模式匹配了,Switch 使用方便多了。Scala 很多年前自己学过,当时觉得 Scala 语法怪怪的,而且一直没解决版本兼容性问题,看过那本 Scala for the Impatient, 可是放下去后一直没使用。
使用过 Java 8 后,倒是觉得 Scala 语法没那么怪了。
hantsy
   28
hantsy  
   2019 年 4 月 17 日
@lastpass 现在不加 Return 的多的是,Kotlin 用表达式也可以,Groovy 好像一直都这样。
woodfish
   29
woodfish  
   2019 年 4 月 17 日
短符号用的太多,而且随场合不同含义还会不同,感觉非常难记忆。。。一本 programming scala 隔了一个月不看又得重头复习
cyspy
   30
cyspy  
   2019 年 4 月 17 日
Scala 的语法其实很简单,那一堆短语法都是函数,只是你不熟悉这些编程范式而已,我现在写 Python 不需要副作用的时候都基本上不用 for 了
yuikns
   31
yuikns  
   2019 年 4 月 17 日 via iPhone
只有我简单文本处理有时候直接 scala shell 搞定么?
我感觉它比 python 好用多了
glfpes
   32
glfpes  
   2019 年 4 月 17 日 via Android
熟悉匿名函数更容易上手
zhy0216
   33
zhy0216  
   2019 年 4 月 17 日 via iPhone
推荐 functional programming in scala
reid2017
   34
reid2017  
   2019 年 4 月 17 日 via iPhone
除了 java 外的,都难…
Narcissu5
   35
Narcissu5  
   2019 年 4 月 17 日   ❤️ 1
最讽刺的是 sbt = simple build tool
wc951
   36
wc951  
   2019 年 4 月 18 日 via Android
scala 就是魔法太多,各种隐式的东西,不过也可能是我对函数式编程不太熟练的缘故
luozic
   37
luozic  
   2019 年 4 月 18 日 via iPhone
scala 的类型系统 啥时候在 dotc scala3 里面解决了,就再次玩这个语言,否则还不如去写 rust haskell 的
zhanwh9
   38
zhanwh9  
   2019 年 4 月 18 日 via Android
挺喜欢 Scala 的,虽然学习曲线比较陡峭,但是写着比较有趣,按一些人的说法就是像在写诗。可惜公司不用,而且由于一个功能写法很多,review 别人的代码也比较麻烦。
congeec
   39
congeec  
   2019 年 4 月 18 日 via iPhone
之前写过 Haskell 应该就没那么难了
lszxlong
   40
lszxlong  
   2019 年 4 月 18 日
@beneo storm 没法替代 spark,storm 只是一个实时计算,storm 应该比 spark 出来的早吧
marcong95
   41
marcong95  
   2019 年 4 月 18 日   ❤️ 1
@cirton #10 正常语境下 gateway drug 说的是大麻,指的就是“虽然大麻对身体危害不大,但是一旦抽上了大麻就很容易起去碰其他更大危害性的毒品”的这种情况。你可以自己把它类比到一下到这个 Scala 跟 Haskell 的关系上。
cirton
   42
cirton  
OP
   2019 年 4 月 18 日
@marcong95 那这句话表达的意思就是 haskell 比 scala 还要更难吧?
beneo
   43
beneo  
   2019 年 4 月 18 日
@lszxlong
@saluton

我司就是这样,当然我不是说 spark 不如 storm,只是 storm 在公司内部 PK 中胜出,PK 当然不只是技术。
cirton
   44
cirton  
OP
   2019 年 4 月 18 日
@beneo 正好相反,之前公司用的 storm,后来换成了 spark。估计你们公司对实时性要求比较高吧。
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 110ms · 3.9.8.5