发布时间:2023-09-18
浏览次数:0
使用 Java 15 年之后,大约 5 年前,我编写了第一行代码。 我们的团队使用替换和函数式编程。 我们是 Java 的忠实粉丝,并尝试充分利用它提供的 Java 工具。
那时,我们不仅仅使用Java。 有一些团队对 Scala 感兴趣并使用它开发一些服务。 而且,由于 Scala 使用 Java 代码库的复杂性和平坦的设置时间,它对我们大多数人来说没有太大吸引力。
2017年,微软宣布它成为微软的官方开发语言,另一个与我们关系密切的团队开始评估他们是否可以在他们的服务器端开发中使用它。 最终,我们大多数人都尝试了。
它对代码库的影响令我震惊。 感觉更高效、更安全。 虽然开发工具没有Java那么成熟,但也已经足够好了。
将自己从古老而繁琐的编程语言中解放出来,探索什么样的编码风格更适合的特点是很有趣的。 与 Java 的卓越互操作性意味着我们可以逐步依赖现有的生态系统和过渡系统,而不会严重干扰我们的工作。
很快,出于兴趣,我们一起开发了一个用于开发 HTTP 应用程序的工具包,并组织了开发研讨会来帮助其他团队进行尝试。
最后,我们看到其他各种项目在服务器端使用它,并且我们还看到一些团队不愿意采用它的强烈动机。
有趣的是,这些阻力并不总是由编程语言本身造成的。 那么,为什么 Java 服务器端开发社区没有更多地采用呢?
以下是我和我的同学听到的一些原因。
“我们没有时间学习新语言”
这就是我们在软件开发项目中经常看到的现象:“忙着砍柴,无暇磨斧子”。 这通常表明更深层次的问题,例如技术债务下降和开发效率问题。
健康的软件项目需要开发人员花费大量时间学习。 一个有能力的Java开发人员可以在几个小时内掌握基础知识,并在几天内提高开发效率。
如果使用新语言可以让他们编写更简单的代码并遇到更少的问题,那么投资是值得的。
“Java 的每个版本都在变得更好”
确实,Java 正在变得越来越好,发布的速度也越来越快。 而且,对于像处理空值这样简单的事情,它仍然远远落后。
事实上,Java 社区早已习惯了这种发展速度。 即便如此,它仍然提供了一种在项目中使用许多功能的方法。
“作为 Java 开发者,我们非常自豪”
这些观点是最具破坏性的。 如果程序员将自己的职业身份与编程语言联系在一起,那么他们就无能为力。
如果 Java 开发人员不想拿自己的职业生涯冒险,进入新语言的未知领域,我可以理解。 或者他们可能想成为某个领域的专家,这也是合理的。
然而,我并没有听说 Java 开发人员因使用而“落后”。 相反,这表明他们仍在寻找适合自己的东西,这是一个积极的特质。
“这是一种被炒作的语言,其未来是未知的”
这是我们在 2017 年看到的很多反对采用的争论。当年,微软宣布它将成为微软的官方开发语言,这让我们确信科技巨头对这种语言感兴趣。
如今,虽然 、 等流行框架已经接受了这种新语言,但之前的反对并不那么普遍。
希望这能让更多的服务器端开发人员充分了解该语言并尝试一下。
“我正在使用,不想切换到”
在IDEA中使用的体验和IDEA不太一样。
这是可以理解的,因为销售开发工具是商业模式的一部分,但这些情况不太可能很快改变。
对于这些人来说,他们所希望的是一个高质量的转折点,以证明进一步的支持是合理的。 但在此之前,开发人员的最佳开发体验一直是使用该产品。
在我看来,它已经是一个更好的Java IDE了,因此值得一试。
“开发商太贵,但难找”
很难说。 从急招网站的数据来看,开发者的薪资普遍略高。
如果我们只考虑服务器端开发人员,很难进行比较。 一般来说,Java 开发人员的薪水最高,但没有足够的数据进行比较。
有趣的是,在实践中,我们可以看到中级Java开发人员往往是最先采用它的,这可能会给人一种开发人员非常“昂贵”的印象。
在紧急招聘方面,我们认为寻找开发人员并不困难。 我们很清楚intellij idea产品学习手册,有些工作需要使用这种新语言,并允许开发人员在工作中学习和使用它。
这显然让 Java 开发人员感到轻松,并吸引了那些热衷于学习新事物的人。
“太复杂”
它成为Scala等语言的替代语言的原因之一是它在易用性和中级特性之间有很好的平衡,并且与Java有更好的互操作性,因此更有可能被流行的框架采用。
在实践中,这些反对意见与团队的技能、风格和习惯有关。
初学者通常会像使用 Java 一样使用它,但随着他们对这门语言越来越熟悉,他们可能会更深入地使用使代码库显得越来越难以理解的功能(例如扩展和内联函数)。
我们建议尽可能长时间地使用通用功能,直到团队完全掌握新语言。 最终,团队中的大多数人都会在选择很酷的语言功能和保持代码库易于理解之间找到平衡。
“在一个代码库中拥有两种语言是令人沮丧的”
这是从未在实际项目中尝试过的人普遍存在的疑问。
在实践中,当团队意识到新代码需要与 Java 共存时,在一个项目中使用两种语言并不会给他们带来很大的痛苦。
这是一个有用的规则:“如果更改涉及两种语言,请先转换旧代码。”
这样,团队就可以避免大规模重绘,并逐渐迁移到需要添加新功能的地方。
如果您需要保留一些 Java 代码,那也没关系。 这很可能是因为代码仍然有用并且没有迫切需要构建它。
“我们更喜欢 Java”
在实践中,有一些场景不一定非要使用,这样一切仍然可以顺利进行,团队可以以可接受的速度完成工作。
然而,根据我们的经验,这是例外而不是规则。 通常,这些对语言的抵制源于缺乏时间和兴趣,而不是缺乏改进的空间。
如果没有在实际项目中使用,很难感受到它的用处。 虽然是一个实验,但还是有很多恐惧。
对于这些情况,我们建议“在工作中学习”(以编码道场、培训等形式),以创建一个可以进行此类实验的安全环境。
这可以帮助团队评估他们对 Java 的使用以及是否值得对其进行投资。
“我不知道它有什么用”
有时,Java 开发人员没有意识到语言限制,或者因为他们已经习惯了这些限制。 有时,他们抵制新语言,因为这会让他们批评他们正在使用的语言。
无需赘述,我们可以说简单和安全是它的主要优点。 然而,有些人声称他们没有看到Java的繁琐有任何问题intellij idea产品学习手册,并且他们编写的代码是安全的。
在你真正尝试之前,很容易忽视它。 而当他们真正面对它时,有些人会不断地寻找理由不去尝试使用它。
一些看法
采用新的编程语言,尤其是在正在进行的项目中,对大多数团队来说都是一个挑战。 对变革的抵制与具体情况、项目需求和个人原因以及语言本身有关。
话虽如此,我还是鼓励更多从事Java服务器端的开发者如果有机会就去尝试一下。
热门内容: 最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码