扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
==> Scala语言简介
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的莱州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!--> Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格
--> 不太久之前编程语言还可以毫无疑意地归类成“命令式”或者“函数式”或者“面向对象”。Scala代表了一个新的语言品种,它抹平了这些人为划分的界限。
==> Scala有几项关键特性表明了它的面向对象的本质
--> Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。
--> 类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-based composition)
--> 与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。
--> Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、局部套用(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。
--> Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。另外值得一提的是,Scala被特意设计成能够与Java和.NET互操作。Scala当前版本还不能在.NET上运行(虽然上一版可以-_-b),但按照计划将来可以在.NET上运行。
--> Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。
==> 为什么我要使用Scala?
--> Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。(《The Scala Programming Language》,Donna Malayeri)也就是说软件应该由可重用的部件构造而成。Scala旨在提供一种编程语言,能够统一和一般化分别来自面向对象和函数式两种不同风格的关键概念
==> Scala得以提供一些出众的特性
--> 面向对象风格
--> 函数式风格
--> 更高层的并发模型
--> Scala把Erlang风格的基于actor的并发带进了JVM。开发者可以利用Scala的actor模型在JVM上设计具伸缩性的并发应用程序,它会自动获得多核心处理器带来的优势,而不必依照复杂的Java线程模型来编写程序。
--> 轻量级的函数语法
--> 高阶
--> 嵌套
--> 局部套用(Currying)
--> 匿名
--> 与XML集成
--> 可在Scala程序中直接书写XML
--> 可将XML转换成Scala类
--> 与Java无缝地互操作
==> Scala 是一种多范式的编程语言,设计意图是要集成面向对象编程和函数式编程的各种特性
==> 技巧
-->
--> 不要陷入C++一样的、不断膨胀的问题里,留下太多的选择,且没有清晰的最佳实践。这导致每个人都在选择不同的子集。要提供适应的指导。
--> 记住,反对不良的设计功能与增加新功能同等重要——这很残酷。
--> 考虑拆分语言为产生环境创建可行的标准。为学术世界节省成本是一个明智的选择。迎合企业的需要,获得更大的采用。
--> 库的编写者应该看看Java API,确认是否应该有功能调用或结构化功能,为了更好的阅读。不要为了流动性在跳跃太大来与Ruby竞争。
--> 最后,当人们提出的建设性的批评时,不要感到失望。如果同样的报怨不断出现,那就说明应该重视一下。
==> 环境部署
--> 由于 Scala 是基于 JVM 运行的,所以需要配置 JAVA环境,这里不在复述
--> 安装Scala:下载 http://www.scala-lang.org/download/
注意:版本跟Spark的Scala版本一致
scala-2.11.8.zip
--> Scala的运行环境(开发工具)
--> 命令行:REPL
---进入: scala
---退出::quit
---(*) paste 模式: 相当于vi编辑器
---进入: :paste
---退出: ctrl+D
--> IDEA
---默认:没有Scala的环境
---需要安装插件:SBT(需要联网,有点慢)
(3)Scala IDE:基于Eclipse
--> 参考此链接:http://blog.csdn.net/yuanguangyu1221/article/details/50889522
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流