请教,scala好处到底在哪里? 犹豫要不要学习scala,想了解下它的好处到底在哪里?尤其是和java相比在网上搜了一下,大概有支持jvm运行,一些词法,语法上的简化。(其实在我看来这些算不上什么优点,不同的语言有不同的语法习惯而己)不太理解的是scala在多核CPU上的优势。还有为什么说scala是分布式语言。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么选择Scala? 看了一下,可能是我没看懂,仍然没有吸引我学习scala。我想了解下为什么说scala是分布式语言。我看除了一些语法,写作习惯上有些不一样以外,没觉得在多cpu和分布式上有什么优势啊。网上的文章都只谈了单台机器上使用scala,没见一个人说多台机器怎么用。以及比一些基于java的公布式开源包(如jgroups, jcs)有什么特别的地方 你属于语法不敏感的程序员,和我不一样,不过这样也不是坏事,专心搞Java不错。 对滴,我更关心功能。代码多写几个字,少写几个字有什么关系。不要太晦涩就好。别像brainf*ck就好。另外写少量的代码能实现强大的功能也是我喜欢的。比如在方法上加个synchronizedAll可以同步同一个网段内的所有机器对这个方法的执行。某ExecutorService可以自动把runnale按负载均衡分配到其它机器上去执行。有这样的类或关键字才是分布式的关键啊。把语法调整一下又有什么用呢。呵呵,可能是我坐井观天了,求scala大神改错。 请教下现在的java/jvm在多核CPU上有哪些不足的地方?scala与java相比在多核CPU上有哪些优点?为什么? 老实说,Java确实很容易造成代码量大,不过幸好Java语言过于简单,以至于代码量上去了,出错率还是很低的。但是很多人不喜欢Java,就是因为他太罗嗦了。因为你关心功能本身,那就无所谓了,语言不起什么决定性的作用,只是重要元素之一。而且Scala现在也是半死不活的,都排名到50了,有啥意思呢。 我了解不多,也许很多东西在库上可以弥补,可能不行。Scala和Java不同的地方,是Java强调变量,Scala是函数式编程,有个值的概念,val,在并行计算中,这种量好像更容易被优化吧?好像是,貌似以前看到过。而过程式的变量很难被优化。 看情况了。我的观点是“多研究些问题,少谈些主义”。能够解决更多实际问题,比发明新的语言、语法、语法糖实际。当然,不是说新的语言、语法、语法糖没用。但是,我感觉,现在java,特别是java无数线程的开源包,能够解决更多实际问题,虽然语法陈旧(比如,同样过滤一个List,.net的linq在语法上方便很多),但是这并不影响我的工作。很多时候,工具再先进,但是大部分工作需要你一个人完成,我还不如选择用老式工具,但是大部分任务人家已经帮忙搞定的方式。虽然有时候,共同的东西可以积累,但是维护、扩展等工作既然有社区在维护,何乐而不为?喜欢Java的理由,主要就在这点上。 java的类库、第三方库基本都可以在scala(jvm)中使用。scala性能和java差别微乎其微。scala的表达能力比java强,同样的功能代码更少, 关于java企业级开发架构知识 (Eclipse版没人气,俺就在这问了)俺用Eclpise30,编译不了原来的tomcat项目,用2.0没这个问题!咋回事啊? 多线程,锁的检测问题,有请高手,up有分! 如何判断JCheckBox的状态?急,,,急 为什么SQL SERVER 2000下读RS后只能读一次? JAVA是否可以取得主机cup或硬盘的唯一编号? freejava inner class 的问题 急!!!excel文件作为数据源,java能连接这样的数据源吗? wolfsquare大哥请您看过来! 关于eclipse生成doc文档 如何打印2是n次方的集合
对滴,我更关心功能。代码多写几个字,少写几个字有什么关系。不要太晦涩就好。别像brainf*ck就好。另外写少量的代码能实现强大的功能也是我喜欢的。
比如在方法上加个synchronizedAll可以同步同一个网段内的所有机器对这个方法的执行。某ExecutorService可以自动把runnale按负载均衡分配到其它机器上去执行。
有这样的类或关键字才是分布式的关键啊。把语法调整一下又有什么用呢。呵呵,可能是我坐井观天了,求scala大神改错。
请教下现在的java/jvm在多核CPU上有哪些不足的地方?scala与java相比在多核CPU上有哪些优点?为什么?
老实说,Java确实很容易造成代码量大,不过幸好Java语言过于简单,以至于代码量上去了,出错率还是很低的。
但是很多人不喜欢Java,就是因为他太罗嗦了。因为你关心功能本身,那就无所谓了,语言不起什么决定性的作用,只是重要元素之一。
而且Scala现在也是半死不活的,都排名到50了,有啥意思呢。
我了解不多,也许很多东西在库上可以弥补,可能不行。Scala和Java不同的地方,是Java强调变量,Scala是函数式编程,有个值的概念,val,
在并行计算中,这种量好像更容易被优化吧?好像是,貌似以前看到过。而过程式的变量很难被优化。
scala的表达能力比java强,同样的功能代码更少,