首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础架构是代码:COBOL和Go的故事【programming(Go)】

基础架构是代码:COBOL和Go的故事【programming(Go)】

作者头像
Potato
修改2019-11-18 11:59:51
6300
修改2019-11-18 11:59:51
举报

COBOL仍然是大型主机的主要语言。从它的历史中Go可以学到什么来主宰云计算?

过去的挑战也会再次出现。 在本周的Command Line Heroes播客(S3E5)中,伴随着编程语言和平台的变化,这个想法又将出现人们的脑海里。

大型主机的主宰,COBOL

Grace Murray Hopper是计算机科学领域最杰出的人才之一。 每当我们不必写二进制文件来与计算机对话时,我建议大声说:“谢谢您,Grace Murray Hopper。”下次再试一次,因为她是发明第一个编译器(将编程代码转换为机器语言的软件)的人。

编者注:这篇文章之前说过COBOL是第一种编译语言,但不是。 阅读有关编译语言早期的更多信息

Hopper 对于高级编程语言(包括 COBOL)的发明和采用至关重要。 她在1959年帮助创建了 COBOL 语言。 正如 Ritika Trikha 在 hackerank 上所说:

“ COBOL 之母 Grace Hopper 帮助推动了这种全新编程语言的创建,该语言旨在跨越所有业务系统,节省了大量的时间和金钱。 也是第一个相信编程语言应该读起来像英语而不是计算机术语的人。 因此 COBOL 的语法是如此冗长。但是,在一个仅在研究机构集中进行计算密集型计算的时代,它有助于使企业的计算过程变得人性化。”

在20世纪60年代早期,大型主机是一种可以共享大量计算的新型结构。 在大型机计算时代,COBOL 主宰了整个领域。

如今的 COBOL 语言

但是今天呢? 随着大型机的衰落和为 Web 和云设计的更新、更具创新性的语言的兴起,COBOL又位于何处?

正如上周的Command Line Heroes中提到的,在20世纪90年代末,Perl (以及 JavaScript 和 C + +)的速度超过了 COBOL。 而且,正如 Perl 的创造者 Larry Wall 当时所说: “由于某些奇怪的原因,由于对COBOL的需求似乎正在减少,因此COBOL如今已不再那么重要了。”

快进到2019年,COBOL还远远没有“落后”。 正如David Cassel在2017年的《 The New Stack》上写道:

“据路透社4月份报道,大约95% 的 ATM 刷卡使用 COBOL,这种有着58年历史的语言甚至可以支持80% 的面对面交易。 事实上,据路透社计算,目前仍有2200亿行 COBOL 代码被用于生产,而且每天 COBOL 系统处理的商业交易额高达3万亿美元。”

考虑到 COBOL 在商业世界中的持续重要性,了解 COBOL 可能是一个很好的职业选择。 由于专门从事 COBOL 语言的人数有限,顶级 COBOL 程序员甚至可以期望赚到六位数的收入

目前,Go 在云中占据主导地位

Cobol 早期统治的故事让我想起了一些东西。如果我们调查一下这个云计算时代最有影响力的项目,那么您将很难错过排在首位的Go。Kubernetes及其许多相关技术(从Etcd到Prometheus)都是用Go语言编写的。正如 RedMonk在2014年的探索:

“ Go 迅速接近总提交量的1% ,以及项目和贡献者的0.5% ,这种趋势显然很有趣。虽然乍看之下,低于1% 的数字与整体采用率相比似乎无关紧要,然而,提供一些背景信息,Ohloh 上最流行的语言(C,C + +,Java,JavaScript)只占提交的10% ,项目和贡献者的5% 。 这意味着Go,这个看似微不足道的玩家,在自由和开放源码软件中的使用量已经接近现存最流行语言的十分之一。”

在我之前的两份工作中,我的团队(重新)编写了Go中的基础架构软件,以参与这一不朽的浪潮。 有影响力的项目继续存在于Go可以填补的空间中,正如Uday Hiwarale在2018年很好地解释的那样 :

“Go之所以成为一门伟大的语言,是因为它有简单的并发模型、基于包的代码管理以及非严格的(类型推断)类型系统。 Go 不支持开箱即用的面向对象程序设计体验,但是它的支持结构(structs) ... ...在方法和指针的帮助下,可以帮助我们实现相同的结果。”

在我看来,Go 可能会追随 COBOL 的脚步,但问题是它将走向何方。 2019年6月,RedMonk 将Go排在第16位,有一个可以引领任何方向的未来。

Go 可以从 COBOL 中学到什么?

如果 Go 看到了它的未来,它会像 COBOL 那样具有如此持久的力量吗?

Command Line Heroes在本季讲述的故事说明了语言是如何诞生的,它们周围的社区是如何形成的,它们是如何变得流行和标准化的,以及一些语言是如何慢慢衰退的。关于编程语言的生命周期,我们能学到什么?它们有相似的弧度吗,或者他们有什么不同?

我认为这个播客很值得订阅,这样你就不会错过任何一个。 我希望能在下面的评论中听到你的想法。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大型主机的主宰,COBOL
  • 如今的 COBOL 语言
  • 目前,Go 在云中占据主导地位
  • Go 可以从 COBOL 中学到什么?
相关产品与服务
Prometheus 监控服务
Prometheus 监控服务(TencentCloud Managed Service for Prometheus,TMP)是基于开源 Prometheus 构建的高可用、全托管的服务,与腾讯云容器服务(TKE)高度集成,兼容开源生态丰富多样的应用组件,结合腾讯云可观测平台-告警管理和 Prometheus Alertmanager 能力,为您提供免搭建的高效运维能力,减少开发及运维成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档