此处有 Scala 爱好者吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chanlion
V2EX    Scala

此处有 Scala 爱好者吗?

  •  1
     
  •   chanlion 2015-10-07 21:03:30 +08:00 5390 次点击
    这是一个创建于 3725 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Java 虽然是使用人数最多的语言, 但是其冗余的书写方式为人所诟病. Scala 不仅完全兼容 Java 而且还带来了函数式编程以及 Actor 模型并发机制. 我现在已经对 Scala 语言蠢蠢欲动了, 敢问 V2EX 有 Scala 爱好者吗? 你们撸 Scala 感觉如何? 有什么切身感受的好处或坏处吗?

    8 条回复    2015-11-28 13:33:24 +08:00
    zartouch
        1
    zartouch  
       2015-10-08 00:52:33 +08:00
    好处就是简洁,可以少些很多代码。很多 java 的设计模式,在 scala 是语言本身的特性,不需要写很多累赘的东西。

    坑也多,编译速度慢。和一些老的 java 第三方库兼容的不太好, 2.11 版本之前还有什么 case class 只能有 22 个 parameter 的限制。一些特性比如 implicit 用起来会发现其实后期会使项目维护更困难和 debug ,并没有想象的那么美好。 其他的诸如语言表述方式过多,组员写法不统一或者用了太多高级特性使得别人阅读起来很困难也会增加项目成本。
    chanlion
        2
    chanlion  
    OP
       2015-10-08 01:18:16 +08:00
    @zartouch 谢谢你的回答, 我却也打算阅读<Scala 编程中文> 一书来了解一下, 但听你这么一说确实不那么美好, 这些我之前也是略有耳闻. 并且我也觉得用 Scala 开发项目的团队实在是少. 您是有用过 Scala 来开发正式项目吗? 是哪一类型的? 所用框架有哪些? 还望告知一二.
    zartouch
        3
    zartouch  
       2015-10-09 00:14:00 +08:00
    @chanlion 恩,我是做金融 IT 的,股票衍生品的交易系统。团队在用所以不得不用。框架的话 scala 的就用了 akka 。其他都是 java 的库了,没什么特别的。
    chanlion
        4
    chanlion  
    OP
       2015-10-09 11:40:57 +08:00 via Android
    金融 IT 确有这方面需求,因系统较大而复杂。所以可以忍受 Scala 所带来的性能下降并期待期待来的编写上的灵活性。我已在看相关书籍,想来了解一点无妨。只是语言组件过多,且社区不大想必在生产中遇到不少陷阱。
    chanlion
        5
    chanlion  
    OP
       2015-10-09 13:39:40 +08:00
    @zartouch 想请教您一下, 您在生产中所有开发工具为何?
    zartouch
        6
    zartouch  
       2015-10-09 19:47:15 +08:00
    @chanlion 开发工具就是 java 常用的 ide - intellij 版本是 14.1.4 , 成熟度还远远无法和 java 相比。 其实 scala 对于 java 性能在大多数场合是差不多的,特别是对于应用层来说,毕竟都是编译成 jvm 的 byte code 在 jvm 上跑,所以性能不是太大的问题。而对于不是特别擅长编程的 quant 来讲,他们更容易用 functional 编程语言写一些交易策略,虽然最后我们是要去优化的。当然一些核心 lib 还是 c++写的。 金融方面,据我所知现在好几家投行都在尝试 scala 了。其他行业就不太了解了
    chanlion
        7
    chanlion  
    OP
       2015-10-09 21:19:09 +08:00
    @zartouch 真是非常感谢您的解答,对于想快速了解 Scala 的实际使用情况的我来说有莫大的帮助。我本是看重 Scala 的函数式以及 Actor 模型,私念其对游戏后端开发有所助益,然此语言可以定义自己的操作符作为函数,以及将 () 翻译为 apply 方法这些语法糖等等,这些过于灵活的东西会不会造成某种滥用,导致各位同事所写代码风格不统一,而造成理解上的困难? 对这一点是我几日来读 Scala 书的一个大概之感观,难免偏颇,还望赐教。
    astray1988
        8
    astray1988  
       2015-11-28 13:33:24 +08:00   1
    TypeSafe Stack 爱好者, 平时工作都是用的 scala play 框架,最近在钻研 akka 跟 spark , 用 scala 前后 2 年多了,感觉写起来感觉很舒服,开发效率比 java 高很多,最喜欢 scala 的 pattern matching 了,市面上的 scala , play ,等这些相关学习资料不是很丰富,中文翻译更是良莠不济,估计给相当一部分初学者如果对英文阅读不习惯的话还是有一定困难的。而且 play , spark ,等框架迭代速度快,相应的很多市面书籍都内容相对滞后了,阅读官方 doc 是最好的选择...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4935 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 09:05 PVG 17:05 LAX 01:05 JFK 04:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86