[评论]专访国内Scala专家邓草原:全方位剖析Scala编程语言 [查看原文] [只看精彩评论] [查看所有评论]

网友评论(共42条评论)..
  • vsking 2010-08-12 10:19:12

    Groovy创始人:Java面临终结 Scala将取而代之: news.cnblogs.com/n/70574/

    回复(12) 支持(0) 反对(0) 举报(0) | 12条回复..

    • javavc 2010-08-12 11:49:55

      人云亦云。我看过些Groovy和Scala的资料,就个人而言更喜欢Groovy。java的劣势在哪?对于一般的程序员来说,代码不够简介,同样的功能,Groovy的代码量是java的50%,而且学习Groovy花费的时间(指的是语法之类的学习)几乎没有,而从java到Scala则要学很多东西(很多语法上的东西,对能力的提高不大)。个人觉得时间应该花在刀刃上,花了很多时间仅仅是语法的不同不值得。
      纯属个人观点

      回复(2) 支持(0) 反对(4) 举报(1)

    • vsking 2010-08-12 11:58:58
      引用内容javavc 2010-08-12 11:49:55人云亦云。我看过些Groovy和Scala的资料,就个人而言更喜欢Groovy。java的劣势在哪?对于一般的程序员来说..

      那你就搞Groovy吧,懒人比较适合搞这个

      回复(1) 支持(0) 反对(0) 举报(0)

    • TianLeiShengXue 2010-08-12 14:00:49
      引用内容vsking 2010-08-12 11:58:58那你就搞Groovy吧,懒人比较适合搞这个..

      科技不是为科技而科技!科技就是要让人生活得更好,喜欢Groovy !!!

      回复(3) 支持(1) 反对(0) 举报(0)

    • healer_kx 2010-08-12 19:50:20
      引用内容TianLeiShengXue 2010-08-12 14:00:49科技不是为科技而科技!科技就是要让人生活得更好,喜欢Groovy !!!..

      什么逻辑,科技是让人的生活更好,但是你是享受的一方,还是创造的一方呢?

      回复(0) 支持(1) 反对(0) 举报(0)

    • wozhaolala 2010-08-12 20:25:25
      引用内容TianLeiShengXue 2010-08-12 14:00:49科技不是为科技而科技!科技就是要让人生活得更好,喜欢Groovy !!!..

      你说的没错

      回复(0) 支持(0) 反对(0) 举报(0)

    • pkufashuo400 2010-08-12 22:36:00 - [精]
      引用内容javavc 2010-08-12 11:49:55人云亦云。我看过些Groovy和Scala的资料,就个人而言更喜欢Groovy。java的劣势在哪?对于一般的程序员来说..

      我学scala的,不太同意你的观点。scala的语法这样设计是有自己的道理的,所以还是建议你去学一学,学的时候是会觉得吃力一点,但会用以后,对编程思想绝对会有很大的改变的。我个人觉得学到了不少东西。以前大家都通过c++,java学面向对象,我觉得通过scala可以学习什么是函数式编程,什么是DSL,什么是类型推断,什么是Actor(并发的另一种更好的实现),什么叫immutable和stateless,什么是High-Order Function, 怎么样让面向对象和函数式编程风格很好的结合起来使用。虽然scala是复杂了一些,但我觉得里面的每一个思想都非常非常实用。而且我觉得scala像别人所说的那么学术。

      回复(2) 支持(3) 反对(1) 举报(0)

    • javavc 2010-08-13 08:48:53
      引用内容pkufashuo400 2010-08-12 22:36:00我学scala的,不太同意你的观点。scala的语法这样设计是有自己的道理的,所以还是建议你去学一学,学的时候是会觉得吃..

      说到思想的话,scala确实有它的独到之处

      回复(0) 支持(1) 反对(0) 举报(0)

    • shijf2010 2010-08-13 09:19:44
      引用内容pkufashuo400 2010-08-12 22:36:00我学scala的,不太同意你的观点。scala的语法这样设计是有自己的道理的,所以还是建议你去学一学,学的时候是会觉得吃..

      当你看完boost.mpl,boost.lambda,boost.proto之后,才会知道啥叫高阶函数,啥叫DSL,最后还有c++0x/1x里面的auto,其他语言都在跟C++学.....

      回复(2) 支持(0) 反对(0) 举报(0)

    • pkufashuo400 2010-08-13 09:42:03 - [精]
      引用内容shijf2010 2010-08-13 09:19:44当你看完boost.mpl,boost.lambda,boost.proto之后,才会知道啥叫高阶函数,啥叫DSL,最后..

      呵呵,貌似函数式编程的出现要早于boost库很多吧。而且语言之间相互的借鉴是一件好事情。干嘛把话说的那么偏激,为什么说只有学boost才会了解这些东西呢。有些java/scala能做的事情,c++做不到。反过来c++的一些事情,java/scala也做不到。大家都是用合适的工具做合适的事情而已。我承认boost是很好的一个库,但无所谓“只有学什么,才会了解什么”这样的话吧

      回复(1) 支持(1) 反对(1) 举报(0)

    • javafuns 2010-08-13 10:17:13
      引用内容TianLeiShengXue 2010-08-12 14:00:49科技不是为科技而科技!科技就是要让人生活得更好,喜欢Groovy !!!..

      Groovy就是个笑话

      回复(0) 支持(0) 反对(0) 举报(0)

    • hunterdragon 2010-10-18 11:45:28
      引用内容pkufashuo400 2010-08-13 09:42:03呵呵,貌似函数式编程的出现要早于boost库很多吧。而且语言之间相互的借鉴是一件好事情。干嘛把话说的那么偏激,为什么说只..

      没错,用最适合的语言做最适合的事,才是应该做的,否则干脆天下一统,直接C++好了,还费尽心思开发出那么多语言干啥?而且存在即合理,有那么高的支持率的语言,一定有它的优点。

      回复(0) 支持(0) 反对(0) 举报(0)

    • qixinkui2 2011-08-08 08:23:15
      引用内容shijf2010 2010-08-13 09:19:44当你看完boost.mpl,boost.lambda,boost.proto之后,才会知道啥叫高阶函数,啥叫DSL,最后..

      还真不是,函数式编程恰恰是起源于另一支和c/c++这种命令式语言毫无关联的另一类语言,鼻祖应该是lisp

      回复(0) 支持(0) 反对(0) 举报(0)

  • shijf2010 2010-08-13 09:48:47

    这个时候,才感觉C++才是最好的,这样的语法,C++早有了,想反驳我的人,先看看boost.mpl,boost.lambda,boost.phoenix(spirit),boost.proto,看看这些,你们才会知道啥叫高阶函数,啥叫DSL。最后,推荐C++0x/1x的关键字:auto.....

    回复(2) 支持(0) 反对(1) 举报(0) | 2条回复..

  • javavc 2010-08-12 11:52:13

    >>至于劣势,我认为没有。
    看了这句话就没兴趣看下去了。。。

    回复(7) 支持(3) 反对(1) 举报(0) | 7条回复..

    • erway 2010-08-12 12:53:31

      怎么说呢,如果你真的认识草原,你就不会这么想了,你就会知道他是一个多么靠谱的人了。

      回复(1) 支持(1) 反对(0) 举报(0)

    • flatz 2010-08-12 13:12:19
      引用内容erway 2010-08-12 12:53:31怎么说呢,如果你真的认识草原,你就不会这么想了,你就会知道他是一个多么靠谱的人了。..

      编译型语言在一些动态特性方面应该还是不如脚本语言吧?做不同类型的事选择不同的语言,总觉得没有劣势这句话欠妥。

      回复(2) 支持(0) 反对(1) 举报(0)

    • jicy_luo 2010-08-12 18:09:20
      引用内容flatz 2010-08-12 13:12:19编译型语言在一些动态特性方面应该还是不如脚本语言吧?做不同类型的事选择不同的语言,总觉得没有劣势这句话欠妥。..

      兄弟,scala是兼具动态语言很静态语言的优点的多范式编程语言!

      回复(0) 支持(1) 反对(0) 举报(0)

    • beeprog 2010-08-12 22:51:27
      引用内容flatz 2010-08-12 13:12:19编译型语言在一些动态特性方面应该还是不如脚本语言吧?做不同类型的事选择不同的语言,总觉得没有劣势这句话欠妥。..

      不要断章取义;
      人家说的是与JAVA相比,你咋不说汇编哩?

      回复(2) 支持(0) 反对(0) 举报(0)

    • flatz 2010-08-13 00:09:37
      引用内容beeprog 2010-08-12 22:51:27不要断章取义;
      人家说的是与JAVA相比,你咋不说汇编哩?..

      不是说和groovy,jruby相比吗?

      回复(0) 支持(0) 反对(0) 举报(0)

    • flatz 2010-08-13 01:44:10
      引用内容beeprog 2010-08-12 22:51:27不要断章取义;
      人家说的是与JAVA相比,你咋不说汇编哩?..

      “主要优势是静态类型检查...”就是相对groovy和jruby这些动态类型语言而言的,显然不是和java相比。动态类型语言我可以在程序运行过程中添加删除类型的成员而不需要重启程序,我觉得静态类型语言因为要做类型检查保证安全和效率,所以要做到这一点应该会很困难。我在eclipse编辑scala,貌似做不到。是我用法上有问题还是scala确实做不到,哪位兄弟能赐教一下?

      回复(1) 支持(0) 反对(0) 举报(0)

    • pkufashuo400 2010-08-13 10:32:45
      引用内容flatz 2010-08-13 01:44:10“主要优势是静态类型检查...”就是相对groovy和jruby这些动态类型语言而言的,显然不是和java相比。动态类型..

      我觉得simple build tool比较好

      回复(0) 支持(0) 反对(0) 举报(0)

  • napolunhuangdi 2010-08-13 08:36:26

    了解下

    回复(0) 支持(0) 反对(0) 举报(0) | 0条回复..

  • zzuqqiu 2010-08-13 01:02:51

    我还是先把C++学通吧。以后再学scala

    回复(0) 支持(0) 反对(0) 举报(0) | 0条回复..

  • mooneclipse 2010-08-12 15:38:47

    这么多语言...如果要学完,好难学啊

    回复(2) 支持(0) 反对(0) 举报(0) | 2条回复..

  • tanjiazhang 2010-08-12 12:18:32

    Scala这门语言本身很好,但是目前还没有像SUN这么强大的厂商对其进行指令优化,经测试,Scala的运算性能不到Java的1/3,所以,暂时还是不适合用在实际产品中。作为编译型静态语言,未来它的性能有望接近Java的。
    顺带提一下Groovy,之前项目组技术预研曾集体使用了一个月的Groovy,后来发现它代码难以维护,性能低下,所以还是比较适合于作为编写产品增值插件的语言,另外它用作DSL非常好。

    回复(3) 支持(1) 反对(1) 举报(0) | 3条回复..

    • leperd 2010-08-12 12:47:40 - [精]

      groovy是脚本语言,java和scala都是编译型语言,所以groovy肯定不能完全替代java,一般系统维护性质的任务对性能要求不是很高的用groovy还是很合适的,scala的优秀是不可否认的,但是scala为什么一定要完全另搞一套完全不一样的语法呢?如果scala也像groovy那样的类java语法,就完美了。

      回复(1) 支持(1) 反对(2) 举报(0)

    • tanjiazhang 2010-08-12 16:15:53
      引用内容leperd 2010-08-12 12:47:40groovy是脚本语言,java和scala都是编译型语言,所以groovy肯定不能完全替代java,一般系统维护性质的..

      像Groovy这样完全兼容Java语法是很吸引Java开发者的,而Scala则比较倾向于学术性。
      不过这样也有好处的,强制开发者使用Scala way而不是Java way。

      回复(1) 支持(0) 反对(0) 举报(0)

    • beeprog 2010-08-12 22:52:43
      引用内容tanjiazhang 2010-08-12 16:15:53像Groovy这样完全兼容Java语法是很吸引Java开发者的,而Scala则比较倾向于学术性。
      不过这样也有..

      一切都是为了并行,分布式运算啊

      回复(0) 支持(0) 反对(0) 举报(0)

  • littleblackcat 2010-08-12 10:35:45

    >>至于劣势,我认为没有。
    >>我相信我终于找到了能较完美地统一函数和面向对象编程;统一本地/远程的事件、消息机
    >>制;统一并行与分布机制的语言,这就是Scala。
    纯粹是在扯淡!

    回复(3) 支持(0) 反对(3) 举报(1) | 3条回复..

    • erway 2010-08-12 12:55:25

      这位兄弟,别把自己的无知当个性,你用过Scala么?你了解草原么?草原能这么说,绝对是有他的道理的,你对Scala无知,大家都不怪你,但是你这样出言伤人,我觉得就该骂你两句了。

      回复(1) 支持(4) 反对(0) 举报(0)

    • littleblackcat 2010-08-12 13:33:27
      引用内容erway 2010-08-12 12:55:25这位兄弟,别把自己的无知当个性,你用过Scala么?你了解草原么?草原能这么说,绝对是有他的道理的,你对Scala无知,..

      呵呵。我看你就很把无知当个性。不管那个草啥是不是专家(哎,国内就爱造神,动不动就是个啥专家),单凭他说的这两句话,就是在扯淡。人一旦被捧到超过自己能力的高度,就容易说胡话。

      回复(1) 支持(0) 反对(2) 举报(0)

    • pkufashuo400 2010-08-12 22:40:09
      引用内容littleblackcat 2010-08-12 13:33:27呵呵。我看你就很把无知当个性。不管那个草啥是不是专家(哎,国内就爱造神,动不动就是个啥专家),单凭他说的这两句话,就是在..

      个人认为对一门语言发表评论前先要学会这门语言,起码在实践中使用过

      回复(0) 支持(2) 反对(1) 举报(0)

  • pkufashuo400 2010-08-12 22:14:15 - [精]

    我学了大半年scala了。一开始看了两天就放弃了,后来又重新回过头来看,发现当时放弃的原因是因为自已掌握的东西都局限在一个很小的范围里,c++,java,c#的思想太根深地固了。后来过了两个月再回头来看的时候是很静心去看的,我觉得学scala学得不是语言,而是思想。而且我觉得邓草原说的话没有什么问题,我是先接触groovy,再接触scala的,我想不出groovy有什么地方会比scala好。我觉得groovy除了可以让代码量减少,在其他地方并没有什么好处,这也是groovy门槛低的原因吧。至于scala的语法,一开始是有些不习惯,但用scala写过一些数据挖掘的算法后,我发现这样的语法很好用,scala可以很容易地将这些算法重构成小函数。同时,同groovy一样,scala也会大大缩减代码量,压缩到相应java程序的1/2到1/3代码量是正常的。然后还要提一下Lift这个框架。现在我觉得好用的框架有两个,一个是php的codeigniter,另一个就是Lift了。我很喜欢Liftweb的设计思想,也就就view first. 虽然有人批评lift会将部分表示层的代码放在业务层,但真正在实践中,程序员必然会懂得一些html,css的东西,而设计人员不懂编程的,所以我认为与其弄一个支持循环和判断的模板语言,还不如将少量显示层代码放入业务层好一些。之前有人觉得scala和lift不够成熟,但前一段时间twitter部分转用scala, 现在非常有名气的foursquare又是由完全由scala和lift构建的,我觉得还是相当有说服力的。之前我不用lift是因为不喜欢maven,但2.0出来后支持s b t(simple build tools),可以写完后及时查看运行结果,调试又方便又可以在其自动编译时进行类型检查,用起来很舒适。其次lift的运行速度还是相当的快。

    回复(0) 支持(3) 反对(0) 举报(0) | 0条回复..

  • zhusijia174 2010-08-12 18:53:53

    他的话够权威? www.xahjy.com

    回复(0) 支持(0) 反对(0) 举报(0) | 0条回复..

  • marqio 2010-08-12 16:41:18

    都没用过,关注。用java做好工作,业余关注新技术。工作、潮流两不耽误

    回复(0) 支持(0) 反对(0) 举报(0) | 0条回复..

  • hurryz 2010-08-12 13:21:59

    现在在自学groovy 感觉groovy 简单 学起来很舒服 很容易上手

    回复(0) 支持(0) 反对(1) 举报(1) | 0条回复..

  • leperd 2010-08-12 10:16:06

    scala如果是像groovy那样的类java语法才能说真正的“前途无限”!

    回复(0) 支持(3) 反对(2) 举报(0) | 0条回复..

收藏 推荐 保存 打印 关闭
专访国内Scala专家邓草原:全方位剖析Scala编程语言