产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

  • 2019-04-02
  • 本文字数:2172 字

    阅读完需:约 7 分钟

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

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&T 使用了 C++,他在回忆这段经历时表示:


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

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

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

换句话说,AT&T 通过推动 C++ 来成为行业标准,而 C++也通过 AT&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 这次的收费举动,会对众多企业产生影响。


2019-04-02 16:4210774
用户头像

发布了 536 篇内容, 共 271.8 次阅读, 收获喜欢 1561 次。

关注

评论 2 条评论

发布
用户头像
可以使用openjdk,oracle收购java后java的发展感觉还是有加快的,后续很难说,但对一门有二十年历史的编程语言来说,oracle到现在为止做的还算ok
2019-04-25 10:29
回复
用户头像
收费的oracoljdk不是java语言,你这样说容易误导人。
2019-04-09 07:46
回复
没有更多了
发现更多内容

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

威廉META

语音识别唤醒词:开启智能化的语音交互时代

来自四九城儿

唤醒词

【超详细】Linux系统修改SSH端口教程

百度搜索:蓝易云

Linux 云服务器 端口 蓝易云 22

使用 Kind 体验 Kasten K10 备份还原 K8S 集群 (二)

吴威

Kubernetes 容器 k8s veeam 备份 & 恢复

一文了解潜力黑马Infiblue:借力Web3,释放元宇宙价值

大瞿科技

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

大瞿科技

C++中Stack(栈)的使用方法与基本操作

梦笔生花

Linux系统-df命令详解-显示磁盘空间使用情况

百度搜索:蓝易云

Linux 云服务器 df

一文了解潜力黑马Infiblue:借力Web3,释放元宇宙价值

股市老人

从多元生态、开源到人才培养,让开发者成为决定性力量

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 7 月 PK 榜

数据交换不失控:华为云EDS,让你的数据你做主

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 7 月 PK 榜

一文了解潜力黑马Infiblue:借力Web3,释放元宇宙价值

西柚子

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

股市老人

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

鳄鱼视界

情感语音识别:倾听声音背后的情感

来自四九城儿

情感语音识别

【安装教程】Linux系统-iftop网络流量监控工具

百度搜索:蓝易云

Linux 云服务器 iftop

一文了解潜力黑马Infiblue:借力Web3,释放元宇宙价值

BlockChain先知

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

BlockChain先知

【超详细】Linux系统之nethogs命令

百度搜索:蓝易云

Linux 运维 服务器 云服务器 ECS

一文了解潜力黑马Infiblue:借力Web3,释放元宇宙价值

小哈区块

Centos 8完美升级至Centos 8 Stream教程

百度搜索:蓝易云

Linux centos 云服务器

车内语音识别数据:驱动智能出行的新动力

来自四九城儿

车载语音识别

【 INFINI Workshop 上海站】7 月 27 日一起动手实验玩转 Easysearch

极限实验室

上海 Workshop 极限科技

linux通过命令查看机器硬件的配置信息【详细】

百度搜索:蓝易云

Linux 运维 cpu 内存 云服务器

基于自定义数据源的LangChain的聊天

派大星

#LangChain

2023-07-08:RabbitMQ如何做到消息不丢失?

福大大架构师每日一题

福大大架构师每日一题

直击 | 认识和了解bboss

大河

stream Binlog ETL bboss mysql cdc

Linux系统-磁盘无损扩容教程【宝塔面板适用】

百度搜索:蓝易云

Linux 运维 服务器 云服务器 运维‘

一些容易被忽略的测试场景

QE_LAB

移动端测试 测试场景

当编程语言掌握在企业手中,是生机还是危机?_编程语言_田晓旭_InfoQ精选文章