对于那些经常访问此博客的人来说,众所周知,在开发代码时,我是Spring / Java专家。 我也使用不同的技术,例如node或python,但这很大程度上取决于项目的需求。
由于最近涉及Spark的一些项目和课程,不可避免地会在Scala上绊脚石。 经过一番调查后,我决定采用它作为我的主要工具之一,原因很多。
从Java开发人员的角度来看
- 它进化得更快
- 它具有灵活的语法
- 它是静态类型
- 这是很新的,因此令人兴奋,但具有JVM的风格
我记得当时我正打算发布Java7。Lambda,流将一些功能性编程付诸实践。 Scala提供的所有这些功能。 不幸的是,lambda从Java 7中删除,并作为Java 8的一部分发布。因此,花了3年的时间才能使用lambda。
Scala语法很棒,可以提高生产率。 我真的很喜欢这样一个事实,您可以跳过很多必须处理Java的样板。 更不用说诸如元组,开关和参数名称规范之类的选项了。 该清单可以继续下去。
我同时使用了动态和静态类型的语言,但是通过主要在Java上进行开发,我有些偏颇。 我相信静态类型化是一个不错的选择,因为您可以及早发现错误,构建可靠的代码并提高可维护性。 而且,它使与他人的协作变得更加容易。
每一项新技术都令人兴奋,并且感觉就像是一种新玩具。 但是,采用新技术会伴随缺少对开发过程必不可少的库和框架(节点吗?)。 幸运的是,您始终可以押宝JVM,并将Java库与Scala源代码一起使用。
从生态系统的角度
如果您来自Java EE或Spring MVC,那么您已经为Web应用程序提供了经过验证和测试的框架。 幸运的是Play来了。 Play是否足以满足您的所有需求? 我怀疑。 但是框架在不断发展,并且由于我们生活在微服务架构时代,因此拥有一些Java组件就可以完成工作。
从项目的角度来看。
云和整体技术的爆发带来了各种不同类型的应用程序。 开发应用程序变得更具挑战性,其中一些涉及大数据处理,流传输和机器学习。 Scala在这类应用程序中排名第一,因此,如果您的目标是在大数据世界中工作,那么掌握Scala肯定会为您提供帮助。
它为您过滤。 如前所述,Spring / Java可用于各种类型的项目,批处理应用程序,CMS应用程序,Rest api等。Scala具有更具体的标识,并针对某些类型的项目。 通过搜索包括Scala在内的机会和合同,您已经对项目的性质和未来的挑战有所了解。
最后
谈话很便宜! 前面有许多教程可以编写和记录我的经验。 请继续关注更多Scala内容。
翻译自: https://www.javacodegeeks.com/2017/04/a-journey-with-scala.html
本文探讨了Scala为何成为Java开发者的理想之选。它不仅语法灵活、静态类型,且在大数据处理方面表现卓越,适合微服务架构,提供更高的生产力和代码可靠性。
1180

被折叠的 条评论
为什么被折叠?



