蓉杠学习网

j***a语言风险,j***a语言安全性

大家好,今天小编关注到一个比较意思的话题,就是关于java语言风险的问题,于是小编就整理了1个相关介绍Java语言风险的解答,让我们一起看看吧。

  1. oracle如何把java“玩死”?java程序员该何去何从?

oracle如何把j***a“玩死”?j***a程序员该何去何从?

个人认为J***a生态过于松散是Oracle缺乏战略掌控的错。

  • J***a生态中大量的开源框架无序竞争,让开发人员无所是从,经常为了寻找一个技术解决方案不得不在一大堆类似的框架中比选;Oracle并没有主导生态中强势的技术,而是听之仍之,自生自灭
    ——一门语言被生态所累是可悲的!

    java语言风险,java语言安全性div>
    图片来源网络,侵删)
  • J***a语言自身的面条式风格越来越严重,匪夷所思的各种代码范式让程序员疲于记忆大量的跟具体框架相关的书写规则
    例如:Object.GetValue().Configthis().ConfigThat().ConfigOther() ...这样的拉面语法被各种框架过度使用
    ——一门语言被第三方框架***也是可悲的!(类似的其他语言的例子诸如Angular.js对于Javascript)

  • J***a的开发环境并没有做到极致,主要依赖Eclipse作为IDE,开发效率受到开发环境的制约太严重,例如Eclipse就有M***en,Gradle,Ant等编译环境的配置管理,导致不同的开源工程使用
    不同的配置体系,每个程序员需要花大量的时间了解这些配置的差异和修改方法,今天要学点M***en的XML配置,明天又要搞定Gradle的Groove语法……
    ——一门语言被开发环境***更是可悲的。

J***a程序员最佳去处——转型为C#程序员,原因如下

java语言风险,java语言安全性
(图片来源网络,侵删)
  • J***a和C#语法非常类似,转到C#非常顺当;例如:包引用改import 为using ,类继承改extends 为“:”,多写一点代码就搞定了,大部分知识可以共享,而且未来需要的时候要返回j***a也是容易的;
  • C#有Linq——一种J***a没有的语法特性,这是C#官方定义的一种极为便捷的非传统语法特性,它主导了对集合的全面操作,把程序开发中最乏味的部分解决了。虽然Linq也会导致类似J***a那种面条式语句但是这是一套放之四海而皆准的面条,在所有程序中都可以用。例如:Collection.ToEnumerable().OfType<ObjectA>().Select(i=> i.a=conditionA).ToList(),这些方法来自官方框架,在所有程序中都是通用的,长一点问题不大,反而作为一种固定的通用范式。J***a有一点理想主义的倾向,导致有时候语法就是一种形式上的桎梏;而C#则要实用主义许多,Linq就是这种突破的表现,为了开发习惯上的实用,不一定要延续一致性的语法原则。除此之外的例子还有扩展方法(向现有类型追加任何方法)等等。
  • 使用C#则可以利用所有.net的生态,而且.net生态几乎由微软主导,尤其在微软收购了Github之后,在开源界C#的生态也将受到微软的管理(有时候选择太多不是好事)。

  • C#拥有目前世界上最好的代码开发环境Visual Studio。VS的各方面功能都是极佳的,对于程序员开发调试都是一大福音,用了VS你会恨死Eclipse。

  • 随着.net core的流行,C#同样具备了跨平台能力,而且微软还在积极开发.net native编译器,今后用C#开发本地代码程序或许会非常便捷。

    java语言风险,java语言安全性
    (图片来源网络,侵删)

总结一下,C#既没有被语法、也没有被第三方框架或者开发环境所***,解决方案出来的时候你非常清晰你的路径,而不会被犹豫的选择、晦涩的语法和经常崩溃而且还找不到统一支持的开发环境所困扰。

大概在两年前,当Oralce输掉了和Google在Android上的J***a官司后,Oracle的J***a开发努力便开始逐步减慢,而在J***a EE方面则是处于完全停止的状态。J***a社区的大客户们不仅吐槽Oracle正在放弃已经有20年的J***a平台兼容性,更有人形容这是一场危险的游戏

的确J***a8还没用熟就停止更新了, Oracle又把一年一度J***aOne取消了,以及J***a付费时代的恐慌……这些种种都让人们不禁发出“Oracle把J***a玩死”的调侃。不过好在Oracle前不久官方声明对J***a SE 8的更新支持已经延展到了2019年1月,这对于广泛部署J***a的企业来说,J***a8免费支持时间的扩展的确是一个好消息。

style="font-weight: bold;">现在大家最紧张的就是如果未来J***a失宠于Oracle,那么J***a程序员将何去何从?真的如我们想象中的那么糟糕吗?

选择J***a平台意味着获得健康广阔的生态系统,以及丰富的知识、劳动力与相关产品。作为交换,由此带来的技术债务在于,该平台也许无法适应未来的技术演进,因为其所有者不打算继续开发它。现在,你或许可以开发出健康的产品,尽管未来会的开发成本会越来越高,甚至牺牲未来的业务敏捷度。 其他的平台选择都有各自的技术债务。但简而言之,各有各的不同。比如:

  • 选择 Node.js 平台意味着缺少丰富的稳定生态系统。但该平台非常活跃,欣欣向荣,可能会持续发展很长时间,而且 Node.js 人才也越来越多。

  • 选择 Ruby(很可能与 Rails 一起)平台意味着能以合算的成本快速建立起工作系统的基础架构,但坏处是扩展性不佳。

  • 你也可以选择 Microsoft/.NET 生态系统,该系统拥有[_a***_]与 J***a 平台相似的优点,但缺点是你的公司命运会与另一个企业软件巨头的选择绑定

当然还会有许多其他选择,其实每个选择归根结底都是利弊权衡的问题。 简而言之,是否选用J***a平台作为新项目的基础平台很大程度上是个人决策,Oracle可能厌倦了 J***a,但这是否应该影响这个决策呢?当然应该。但是,这绝对不是唯一的考虑因素。

个人认为,将全部职业生涯都赌在J***a这一种平台的程序员,也不用过度焦虑和担心,毕竟围绕J***a生态系统的技能与知识需求不会在短时间内消失。

Oracle说的很清楚了,是Oracle JDK收费,而不是J***a收费。

Oracle收了Mysql之后,现在也是两个版本,一个收费一个不收费,收费的做的更牛一些,你们可以花钱用;免费的稍微差点儿,很大大厂有研发能力,直接在免费的Mysql上改,也可以做到非常牛;而比较大众的我们,直接用免费版就行了,也够用。

这个要收费的Oracle JDK,也就是做的更牛一些,不差钱的公司可以考虑使用;比较大众的我们,直接用免费的Open JDK就行了。

Hotspot,***上下的基本都是这个,免费的。

J9,IBM的,商用的需要和IBM的其他软件绑定,比如webSphere。

Zing,这也是收费的,而且很高,垃圾回收做的很牛,很变态。

从 Oracle J***a 付费开始。

很多企业或程序员为了省钱,就一直停留在J***a8,再也没升过。

J***a9、10、11、12、13、14、15、16、17即使是开发出来了,但没人推广使用,开发出来有什么用?

Oracle 本想靠着J***a大赚一笔,没想到***落空。

自从J***a收费,大家都转向了开源免费版,或其他公司改造免费版,亦或是其他语言,例如Go。

说到底,现在免费开源的多的去了,没必要用你收费的。而是功能都有,性能也不差。

Oracle自知坐享其成***落空,便让用户***J***a17三年,俗称试用。但依旧很难挽回J***a用户。

——————————————————

动画,学编程,就请关注「***都是程序员」

到此,以上就是小编对于j***a语言风险的问题就介绍到这了,希望介绍关于j***a语言风险的1点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/25902.html

分享:
扫描分享到社交APP