2019年4月,Java的收费时代来临了!

Java是由Sun微系统公司在1995年推出的编程语言,2010年Oracle收购了Sun之后,Java的所有者也就自然变成了Oracle。2019年,Oracle宣布将停止Java 8更新的免费支持,未来Java的更新只适用于已付费的许可证持有者。

Java收费的消息让人不得不联想到这些问题,其它语言是否会和Java一样也加入到“收费大军”呢?当编程语言掌握在企业手中时,是生机还是危机?

近日,RedMonk发布了2019年第一季度编程语言排行榜,排在前十位的分别是JavaScript、Java、Python、PHP、C#、C++、CSS、Ruby、C和Objective-C。RedMonk编程语言排行榜一年发布两次,其主要的排行依据是编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,经过统计分析后排序得出编程语言在未来的采用趋势。

上图是RedMonk统计的从2012年到2019年,各个编程语言的排名变化情况。如果仔细观察分析这张图片中我们可以发现两个很有趣的现象。

第一是编程语言的头部竞争一直都比较平稳,RedMonk的Top 5玩家JavaScript、Java、PHP、Python和C#,自2014年开始就没有变过,就连排位顺序也只是出现过几次很小的变动。

第二是RedMonk榜单排在第10位到第20位的编程语言中,很多上升速度比较快的编程语言背后都有公司支持。

  • 排在第10位的Objecr-C:Object-C最初是由Brad Cox 和 Tom Love 开发的,但是后来被Apple“收编”了。
  • 排在第11位的Swift:Swift是Apple 2014年发布的新开发语言,易学易用。
  • 排在第12位的TypeScript:TypeScript最初是微软的一个内部项目,2014年微软正式发布该语言。
  • 排在第15位的Go:Go是由 Google 员工 Robert Griesemer、Rob Pike 和 Ken Thompson 于 2007 年开发的,2009 年开源,并快速成为了构建云应用程序的核心语言。
  • 排在第20位的Kotlin:Kotlin最初是由 JetBrains 开发的,2017年被Google“收编”用于Android开发。

其实,早前的Web语言基本是由黑客个人编写的,例如 PHP是Rasmus Lerdorf编写的, Python是Guido Van Rossum编写的。20世纪90年代末是互联网发展的黄金时代,当时涌现出的大量草根项目和小型项目都在后来发展称了大型项目。以编程语言为例,当时人们不再使用C语言来构建CGI Web应用,而是在积极采用PHP、JavaScript等其它语言。

“C++之父” Bjarne Stroustrup在攻读博士学位时就开始研究 C++,然而直到1983年,他才在AT\u0026amp;T使用了C++,他在回忆这段经历时表示:

我在开发C++时,AT\u0026amp;T其实正面临着困境,AT\u0026amp;T 构建的系统比大多数组织要更复杂,可靠性要求更高,所以我们必须自己来影响市场,制定满足我们自己需求的标准,否则的话,我们将没有工具来构建系统。

在我开发C++之前,Ken Thompson 和 Dennis Ritchie 已经开发了 Unix 和 C。AT\u0026amp;T 可能是世界上最大的软件工具的“民用用户”,我们使用了更为广泛的系统:从最小的嵌入式处理器到最大的超级计算机和数据处理系统。所以,我们当时的想法就是这个语言要尽可能多的适用于这些技术文化和平台。

通用性至关重要,专有特性会被视为限制平台和供应商的选择。因此,AT\u0026amp;T 无论是过去,还是现在,一直都是是正式标准的主要支持者(例如,ISO C、ISO C++)。

换句话说,AT\u0026amp;T 通过推动 C++ 来成为行业标准,而C++也通过AT\u0026amp;T从一个博士生心血来潮的作品成为了一个行业规范。

但是当时间行进至21世纪,这种情况就发生了变化。如果说“互联网+”初期是惠及了民众,那么当下一波浪潮移动应用到来时,主导者就变成了企业。语言规则主要由Google、Apple 和 Microsoft 主导。

很多新出现的语言一开始就是由企业赞助的,例如Microsoft 的 CNo,这些新的编程语言汲取了过去的经验教训,在默认情况下,每种新语言都是开源的,也不会再有一家企业试图用专有语言来构建专有程序的情况了。当然,也有一些最初由黑客开发的语言被企业“收编”,例如Object-C。

在这一时期,网络和应用程序的未来大部分是建立在企业的现金上,而不是基于社区动力。那么,这种情况是好是坏呢?

从上文中不难看出,当下流行的编程语言中有很大一部分背后是有企业投资的。企业投资的好处是资金充裕,编程语言能够持续稳定的发展,不会突然夭折。但是也有弊端,就是企业可能会从中获取利润,例如Swift,每有一个使用Swift构建的应用程序,Apple就会从中30%的费用。

更为恐怖的是,企业主导编程语言有可能会导致生态系统锁定,而开源编程语言则是形成这种锁定的重要环节。一旦企业的生态系统和应用程序重度依赖于某种编程语言,且无法轻易被替换时,那么就很可能会被该编程语言背后的公司牵着鼻子走,就像之前Oracle在数据库领域的“厂商锁定”和IBM在大机领域的“厂商锁定”。

编程语言的“厂商锁定”并不是远在天边,就在不久之后,Java 8更新就要开始收费了!2019年1月份,Oracle宣布将停止Java 8更新的免费支持,未来Java的更新只适用于已付费的许可证持有者,无有效许可证的用户不能将Java 8 的安全更新应用于商业用途。

(图源网络,Oracle发给用户的关于Java 8收费的提醒邮件)

从2019年4月起,Oracle会每季度发布一次Java 8的重大修补更新,非公开的首次重大修补更新将于4月16日发布。在很多企业应用中,Java 8仍是主力,相信Oracle这次的收费举动,会对众多企业产生影响。

当编程语言掌握在企业手中,是生机还是危机?相关推荐

  1. 多业务线下,IT企业如何应对市场经济下行危机?

    多业务线下,IT企业如何应对市场经济下行危机? 市场经济下行就像是一辆行驶的车子遇到了坡道,速度开始变慢甚至停下来.在这个情况下,经济的增长变得较为缓慢,消费减少,投资减少,也对企业会带来销售额下降. ...

  2. 专注企业市场 或是网盘危机的有效出路

    提到网盘,相信大家并不会陌生.但红极一时的网络硬盘,似乎在这两年遇到了前所未有的危机.PC和手机等移动端的普及,使随时随地存取数据变成一种刚需,刺激了网盘前几年的野蛮生长.无数创业公司涌入,而谷歌.微 ...

  3. 好消息!2021大数据独角兽企业榜单出炉!智领云再上榜!

    近日,<互联网周刊>.德本咨询.eNet研究院联合发布<2021大数据独角兽企业排行榜>榜单,智领云再次上榜.本次入选榜单又一次提升了智领云的品牌形象和影响力,更是对公司产品与 ...

  4. 10 大受欢迎的全球顶级编程语言与薪资水平

    英文 | https://codeburst.io/10-top-programming-languages-in-2019-for-developers-a2921798d652 翻译 | 杨小二, ...

  5. SD-WAN是怎样简化企业网络和节省资金的?

    SD-WAN能使各种组织适应和发展,能适应业务的变化,确保持续的增长.这是一个快速反应,统一的,并且总是在线的网络,可以让企业在不断变化的市场中快速行动.它意味着您的业务能够迅速.灵活地进行调整和扩展 ...

  6. SD-WAN如何简化企业网络并节省资金

    SD-WAN可使各种组织进行调整和发展,应对业务变化并确保可持续增长.它是一个快速响应,统一且始终在线的网络,可让企业在不断变化的市场中迅速采取行动.这意味着您的业务可以快速灵活地适应和扩展,以跟上全 ...

  7. 全球10大受欢迎的顶级编程语言与薪资水平

    硬件和软件技术的进步是推动整个互联网技术进步的主要因素.顶尖的编程语言是现代技术与新兴技术的核心组成部分. 今天的开发人员需要学习的编程语言比以往任何时候都要多.同样,许多IT外包公司现在正在使用大量 ...

  8. TIOBE 12 月编程语言排行榜:Python 夺回前三,Go 跌出前十

    图片来源:qarea.com 我们迎来了 2018 年最后的一个月,看着一年编程语言的起起伏伏.而昨日 TIOBE 公布了 12 月编程语言排行榜,前五名依旧是 Java.C.Python.C++ 和 ...

  9. 水产行业智能供应链管理平台解决方案:支撑企业供应链数字化,提升企业管理效益

    目录 水产行业产业发展现状 1.供给:产量稳步上升 2.需求:食品结构改变导致食用消费量上升 数字化供应链智能系统的规划需求 智慧供应链平台是水产企业最强有力武器 1. 建立良好的供应商合作伙伴关系, ...

最新文章

  1. [转]HTTP协议详解
  2. 2019最新版本的PanDownload纯净版,网盘满速下载和搜索神器,追剧和动漫新番必不可少的下载工具【亲测有效】
  3. GAN人脸修复--Generative Face Completion
  4. 迁移svn项目到git
  5. 恢复 root 本地无权限 Access denied for user 'root'@'localhost' (using password: NO)
  6. 连续时间系统与离散时间系统的时域分析对比
  7. 又一所“国字头”大学要来?屠呦呦也在
  8. 自动化测试和性能测试工具的区别
  9. 图像处理:灰度(级)和分辨率
  10. 47 Majority Element II
  11. 王通讲生物信息学学习方法
  12. 【C语言】谭浩强C语言程序设计第五版135页例5.11译密码题的新解
  13. HUAWEI内网最新发布了一份452页网络协议手册,GitHub一夜霸榜
  14. H.266/VVC代码学习:普通量化和率失真优化量化(RDOQ)
  15. 2022年G1工业锅炉司炉考试试题及答案
  16. 【读书总结】《Rework》 —— 重新定义工作
  17. 水果忍者(数学 叉积)
  18. 5G/NR, 3GPP 38.215: SS-RSRP, CSI-RSRP
  19. TestProject 自动化
  20. android教程丿it教程网,[IT教程吧-www.itjc8.com]_Da类android视频

热门文章

  1. iOS学习笔记11-多线程入门
  2. java-final关键字
  3. VirtualBox下Ubuntu利用桥接方式上网
  4. 推荐六款帮助你实现惊艳视差滚动效果的 jQuery 插件
  5. SQL 每行随机产生数字
  6. 如何实现自己的机器做服务器
  7. Spring学习(五)bean装配详解之 【XML方式配置】
  8. JTextField类(单行文本框)/JPasswordFiel(密码框)/JTextArea(多行文本框)常用方法
  9. BZOJ[1972] [Sdoi2010]猪国杀
  10. ubuntu终端彻底删除软件