当前位置:首页 > 数据库 > 正文

scala语言能干嘛(scala可以做什么)

scala语言能干嘛(scala可以做什么)

大家好,感谢邀请,今天来为大家分享一下scala语言能干嘛的问题,以及和scala可以做什么的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望...

大家好,感谢邀请,今天来为大家分享一下scala语言能干嘛的问题,以及和scala可以做什么的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

scala的实际应用场景有哪些

scala应用场景:

1.大数据,和为spark的shell编程提供了方便!当然,spark也提供了Python,Java,R的Api!

2.也拥有数据计算的功能3.提供面向Web服务,可以和Java等相同的springWeb应用等等就不仔细叙述了

scala3.0特性

优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。

速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。

能融合到Hadoop生态圈:Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。

chisel语言介绍

我了解到Chisel语言是因为RISC-V是用Chisel实现的,其基本的流程是Chisel会生成Verilog综合代码和C/C++的模型代码。

这点是不是和HLS将C/C++代码生成Verilog代码相似。

Verilog到现在都已经30多年了,这么古老的语言,感觉对目前越来越大规模的芯片的开发效率会不会有点低,也许乘着人工智能浪潮这波浪潮,Chisel成为ASIC的主流开发语言或可知否。

spark的任务支持的语言

你说的是用什么语言写spark程序是吗?现在spark支持scala、java、python和R四种语言。

scala流式操作有什么特性

优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。

速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。

能融合到Hadoop生态圈:Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。

groovy语言主要是用来干什么

Groovy在十几年前是最早进入我视野,并开始实际应用的,甚至比scala还早。因为大家发现java过于死板,需要一种动态特性更好,更灵活的语言来编写很多脚本。我最早看到的是用Groovy编写测试脚本,不管是功能测试还是压力测试都很方便。后来rubyonrails大行其道,但那一套照搬到java上比较困难,于是就做在了groovy上,就有了grails。也就是题主感觉为什么开发速度特别快的原因,rails的思想结合springboot用来开发web服务还是很赞的

现在Groovy也是功能齐备了,但八九年前,抱怨还是挺多的,觉得太简陋了。于是业界(主要是java程序员)发现JVM里还有scala可以用。scala历史也是非常悠久,但一开始比较学院派,后来才慢慢体现出非常好的工程性。当时基于actor模式,用scala搞出了akka。最开始大家主要是想用scala来解决多线程的难题。这方面scala干的不错,先后涌现了不少web和rpc框架,比如后来的playframework和finagle都是一时之选,现在也还十分活跃。而且scala提供了极为丰富的语言特性,也让很多java程序员欲罢不能。现在scala在后端还不错,不过也有Linkedin这样的公司决定停止继续玩Scala,转回java8的怀抱。

但凡事都是把双刃剑,很多人发现scala好是好,就是实在太复杂了,实际项目中收到了很多抱怨。于是大家发现还有Clojure。Clojure脱胎于lisp,是更纯粹的函数是语言,scala其实是个OO和FP的大杂烩。使用Clojure这种纯FP的特性,开发多线程大并发的应用是很有利的,表达力也非常强。但是这似乎又与我们习惯的java编程方式相差太远了,我虽然是纯fp的粉,但纯fp还是有点小众。于是这个语言一直有点叫好不叫座,所以在jvm上一直没到达取代scala的程度。clojure野心也挺大的,先后也搞了非JVM的版本,比如说到.netCRL,到浏览器(编译成js)等等。后来能编译成js的clojureScript的确让人眼前一亮,大家有兴趣的可以看看googleclojure。

这时候kotlin来了,它没有scala那么复杂,也没有clojure那么纯粹。而且它有个非常好的契机,就是google在安卓上的java遇到些麻烦,他们迫切需要一种新的语言,于是google几乎是第一时间给kotlin在安卓上提供了非常好的支持,几乎是第一天就当亲儿子来养。kotlin至少在安卓开发上,是抱着取代java的愿景的,而且我观察kotlin的确更关注和强调客户端开发,但别忘了,这货能在jvm上运行啊,所以它对服务器端的开发能力几乎是天生的,Spring5.0和vert.x都是支持kotlin的。另外,kotlin也是可以非常好运行于多平台的(oraclejvm,安卓,浏览器等等)上的,其实前面几个语言基本也都能,只是有些官方支持没那么好。

OK,本文到此结束,希望对大家有所帮助。

最新文章