Scala是综合了面向对象特性与函数式特性的程序设计语言,是由EPFL主导与维护的开源高级编程语言,Scala提供的静态类型机制可以让程序在一些复杂的运行场景中避免一些缺陷的出现,Scala同时支持JVM、JavaScript以及其他有待支持的运行时环境,Scala同时也提供强大的、开源的、基于生态的支持库,开发者使用Scala的支持库能开发出高效与高性能的应用系统。
Scala支持的运行时环境描述如下所示:
| JVM Scala支持Java虚拟机的运行时环境,使用Scala的编译环境可以将Scala的程序语言编译成符合JVM执行标准的文件格式,Scala可以直接引用Java语言的类方法、变量以及属性,Scala的打包归档格式使用JAR标准规格 |
| JavaScript Scala支持JavaScript前端或者Nodejs后端的运行时环境,使用Scala的编译环境可以将Scala的程序语言编译成符合ECMAScript执行标准的文件格式 |
| Scala Native Scala支持LLVM类型的机器语言的编译,应用于嵌入式设备相关的高中低级别的操作系统的来自底层应用逻辑的运行时环境 |
从传统的应用软件系统的分层架构的角度分析,Scala将提供全栈式的技术栈,开发者可以使用Scala生态体系开发出全栈式的技术框架、工具集以及大规模的分布式应用软件系统。目前,Scala被广泛地运用于不同的业务领域,其支持的技术栈分类如下所示:
| 异步、并发、分布式编程 |
|
| 大数据处理 |
|
| 计算科学 |
|
| 配置、日志、测试、监控 |
|
| 数据库、索引、搜索 |
|
| 部署、虚拟化、云计算 |
|
| 开发工具 |
|
| 图像与多媒体 |
|
| 数学、金融、数据科学、生物信息 |
|
| 移动、桌面、游戏开发 |
|
| 操作系统、硬件、机器人 |
|
| 文本、格式、压缩 |
|
| 时间、位置、测量 |
|
| Web开发 |
|