2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

假如编程语言是《权力的游戏》中的角色 (上)

  • 2021-02-19
  • 本文字数:2993 字

    阅读完需:约 10 分钟

假如编程语言是《权力的游戏》中的角色 (上)

如果 C#、Python、C++、Java、SQL、Ruby,甚至 R 都是《权力的游戏》中的角色,会怎么样?


本文最初发表在 Towards Data Science 博客,经原作者 Sajid Lhessani 授权,InfoQ 中文站翻译并分享。


这篇文章不会像以往那样严肃。 让我们来分析一下,如果我们所喜爱的日常编程语言都是《权力的游戏》的角色,会怎么样?


译注:《权力的游戏》(Game of Thrones)是一部中世纪史诗奇幻题材的电视连续剧。该剧以美国作家 George R.R. Martin 的奇幻文学《冰与火之歌》(A Song of Ice and Fire) 系列为基础改编创作,由 David Benioff 和 D. B. Weiss 编剧、HBO 有线电视联播网推出。剧集第一集在 2011 年 4 月 17 日晚首次公映。该电视剧一上映即获得极高的评价。HBO 在 2011 年 4 月 19 日播出第一季第一集后,随即签下该电视剧的第二季。第二季于 2012 年 4 月 1 日正式上映,上映后反响强烈。目前 HBO 已播映五季,第六季于 2016 年 4 月播出中。


可能已经好久没有看过了,但是相信 HBO 的成功仍在我们心中。通过每一幅图的独特性和多样性,可以更好地理解当前编程语言的多样性。


让我们来复习一下,在漫漫长夜里,你可以在同事和朋友面前炫耀。

先决条件

鉴于《权力的游戏》中的角色列表比较长,本文分为两部分。第一部分将讲述四大家族。


  • 史塔克家族(Stark)

  • 坦格利安家族(Targaryen)

  • 兰尼斯特家族(Lannister)

  • 拜拉席恩家族(Baratheon)


在第二部分中,将会有更多有趣的其他角色出现,比如夜王(Night King)、瓦里斯勋爵(Lord Varis)、乔拉·莫尔蒙(Jorah Mormont)等等。


让我们从我最喜欢的史塔克家族开始。

史塔克家族

艾德·史塔克(Eddard Stark):C

绝对是第一季的主要角色之一。最早的编程语言之一。他在过去很有权势,非常受欢迎。



像 C 语言那样,艾德·史塔克(昵称奈德(Ned))在所有事情上都采用传统的方式。这种编程语言需要做很多工作,但是每个人都尊重它。


年轻的开发人员在将来会把他忘记,但他的遗产通过他的孩子们(C++、C#……)保留下来。

琼恩・雪诺(Jon Snow):C++

就像他父亲一样,他的做事方式也很传统。他是艾德·史塔克最真正的后裔,但是更加复杂更有特色



像他父亲一样,传统就是一切;如果你想了解他,你需要大量的工作和投入(坦格利安可以证明)。即便你在他身边完成了很多项目,你也永远不会觉得自己足够了解他。

艾莉亚・史塔克(Arya Stark):C#

你真的认为她会循规蹈矩和家人呆在一起吗?不!像 C#一样,艾莉亚・史塔克已经开源好多年了。



如艾莉亚·史塔克,C# 有皇室血统。在童年时期,C# 生活在一个贵族家庭中(C# 是微软的财产)。但是,就像第三季中的艾莉亚·史塔克一样,在 2016 年 C# 开源后,它已经有了很多新的面貌

珊莎・史塔克(Sansa Stark):Objective-C

根据维基百科词条:“Objective-C 是一种通用、高级、面向对象的编程语言。它扩展了标准的 ANSI C 编程语言,将 Smalltalk 式的消息传递机制加入到 ANSI C 中。”



就像第一季中的珊莎・史塔克一样,Objective-C 帮助平衡了史塔克家族和君临城(King's Landing)王国之间的关系,这要归功于她的闲谈能力和她的外交手腕。


她为 C 语言家族的编程语言添加了一些技巧,从本质上讲,这些语言是粗糙的,难以理解,敏锐而又复杂。


现在我们就来谈谈拜拉席恩家族吧,他们在过去的美好时光里是很耀眼的。你还记得他们的事吗?

拜拉席恩家族

比如在这个系列中,拜拉席恩家族很早就消失了,但他们却是过去最有权势的家族之一。

劳勃・拜拉席恩(Robert Baratheon):COBOL

在过去,COBOL 的功能非常强大,被广泛应用于企业和政府的商业、金融、行政系统。



但是像我这样的年轻开发者(我今年 28 岁)已经把他忘得一干二净。今天, COBOL 几乎已经死亡。而且, COBOL 并没有像劳勃・拜拉席恩那样创造出一种强大的世界遗产。

乔佛里・拜拉席恩(Joffrey Baratheon):VBA

他一点也不像他的父亲(劳勃・拜拉席恩),我怀疑他一定是瑟曦(Cersei)和詹姆·兰尼斯特(Jaime Lannister)的儿子。



和 VBA 一样,他在过去是如此强大,以至于每个人都必须遵守他的规则。就像乔佛里・拜拉席恩一样,VBA 也非常自私,而且与其他公司的外交关系也很糟糕。


每个 VBA 用户都知道,你不可能拥有像 Python 一样数量的库,比如拥有 TensorFlow、GoogleCoLab、 MachineLearning Libraries, 以及 Kaggle 或 Stanford University 等不同的 API。在外交上,VBA 和乔佛里·拜拉席恩是邪恶的,这使得他们都死了。


总之,大家都恨他,没人后悔杀了他。


谢天谢地,他现在已经死了。


现在,让我们点燃火把,去南方见坦格利安家族吧。

坦格利安家族

丹妮莉丝・坦格利安(Daenerys Targaryen):JavaScript

她值得拥有一个完整的篇章,挑战与挫折成就了她的过去。



一开始被低估了,但如今很强大,主要是因为她有 3 个库(Angular、React 和 Vue.js)相伴。


如丹妮莉丝·坦格利安,当 JavaScript 刚刚问世的时候,没人会把它当真,很久以来,人们一直认为它仅仅是一种前端语言。就连谷歌都试图通过发布 Kotlin 来消灭早期的 Java。多么低估了 JavaScript 的价值


现在, JavaScript 和龙一样火起来了,广泛地用于服务器端开发。


我不想多谈坦格利安家族,因为丹妮莉丝・坦格利安代表了该家族的大多数人。让我们回到君临城,去见见兰尼斯特家族。

兰尼斯特家族

正如兰尼斯特家族一样,编程语言丛林中出现了各种各样有特色的编程语言。


“兰尼斯特的人总是会还债的”

— 兰尼斯特家族

提利昂・兰尼斯特(Tyrion Lannister):Python

Python 就像系列中的提利昂・兰尼斯特(译注:是个侏儒)一样,因为它的短小而在早期被人憎恨。但是随着时间的流逝, Python,如提利昂・兰尼斯特,赢得了粉丝和遗产。



和侄子乔佛里国王不同,他凭借自己的外交才能,成为一位重要人物,到了人人向他请教的地步。根据维基百科条目,Python 今天拥有 13.7 万个库。拥有这种外交技巧,你将永远不会死去。


此外,如兰尼斯特家族, Python 是专为金融用户定制的(我每天都在工作中用它来开发我的模型,算法,甚至交易机器人)。这也是为什么提利昂・兰尼斯特才会成为国王的手下,并在这么多年来一直掌管君临城的财政大权。


就我自己的经历而言,比如第一季的提利昂・兰尼斯特,我在早年就非常讨厌 Python(当时作为一名博士生,我开始用 R 编程)。但是我今天完全沉迷其中,每天都在向他请教。

瑟曦・兰尼斯特(Tyrion Lannister):PHP

无法预料,又无情,你想多恨就能多恨,你必须承认瑟曦·兰尼斯特 /PHP 才是强大的网络女王,不好意思……维斯特洛(Westeros)几乎不可能毁灭,但是让我们看看接下来的几季(如果他们改变主意,选择制作更多的剧集,十指交叉)。



不管你有什么经验,所有的 PHP 开发人员都会认为 PHP 总是混乱不堪。

詹姆・兰尼斯特(Jaime Lannister):Kotlin

Kotlin 就像他的兄弟姊妹一样,有皇室血统。由谷歌工程师开发并派去杀死 Java,Kotlin 和詹姆・兰尼斯特依然可爱又迷人。



Kotlin 的直觉和简洁明了使你可以单手编写代码。


在第一部分中,詹姆・兰尼斯特是最后一个代表人物。


在第二部分,我们将对《权利的游戏》中的其他角色进行预测。现在,R、SQL、Java、Go、Perl、Swift、HTML 和其他语言呢?

作者介绍:


Sajid Lhessani,数据科学家,供职于银行和资本市场。


原文链接:


https://towardsdatascience.com/what-if-programming-languages-were-game-of-thrones-characters-as-a-data-scientist-c3a9ae523273


2021-02-19 15:058355
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 556.2 次阅读, 收获喜欢 1978 次。

关注

评论 1 条评论

发布
用户头像
kotlin是jetbrains的
2021-03-03 14:22
回复
没有更多了
发现更多内容

【堡垒机】堡垒机到底有用不?国内哪家堡垒机好用?

行云管家

云计算 数据安全 堡垒机

我们都是那条流浪的小黄狗|靠谱点评

无量靠谱

为什么别的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

Java 编程 程序员 技术宅

年包70W,五轮拿下阿里Offer,全靠阿里内部整理的面试指南(真题分享)

Java 程序员 架构 面试

加油站三维可视化监控系统,安全管理智慧运营

一只数据鲸鱼

数据可视化 智慧城市 3D可视化 数字孪生 加油站

我看JAVA 之 垃圾回收GC

awen

Java JVM 垃圾回收 GC

聊聊 Web Workers 吧

Faye

JavaScript 大前端

论区块链技术如何赋能社交代币并打造创作者经济新局面

CECBC

浅谈:前端路由原理解析及实践

尔达Erda

开源 云原生 大前端 UI 路由器

FIL的最新消息?FIL的价格还能回到150吗?

区块链 分布式存储 IPFS fil挖矿最新消息? fil价格

ZooKeeper 分布式锁 Curator 源码 02:可重入锁重复加锁和锁释放

程序员小航

源码 分布式锁 zookeeper分布式锁 curator

音视频开发进阶指南,最新大厂Android校招面试经验汇总

欢喜学安卓

android 程序员 面试 移动开发

已收藏!深入浅出Android性能调优

欢喜学安卓

android 程序员 面试 移动开发

面试阿里太难了!二本毕业、两年crud经验,侥幸通过面试定级P6

Java 程序员 架构 面试

又双叒叕一行代码:Map按值排序

FunTester

Java 排序 map LinkedHashMap

没有你,对我很重要|靠谱点评

无量靠谱

Pravega Flink connector 的过去、现在和未来

阿里云大数据AI技术

光子是深度学习的未来!光子有望替代电子计算机加速神经网络计算

百度开发者中心

深度学习 最佳实践 方法论

终于有10年阿里老兵把SpringCloud微服务实战经验全总结出来了

进击的王小二

Java 架构 微服务 Spring Cloud

简单好用的照片恢复软件推荐

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

gitlab ee 14.1稳定版安装教程

阿呆

gitlab

为什么别的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

白亦杨

Java 编程 程序员 技术宅

PHA矿机挖矿系统搭建

Geek_23f0c3

区块链 云算力模式系统开发源码 PHA矿机挖矿

腾讯云 TRTC 这次玩大了!冲出国门联手日本直播平台.yell Live打造在线直播互动能力

腾讯云音视频

ARTS之释义

清风明月

一文读懂区块链技术如何改变非洲贸易(上)

CECBC

大型企业采购云管理平台的诉求分析-行云管家

行云管家

云计算 云安全 云管平台 云资源

深入原生冰山安全体系,详解华为云安全服务如何构筑全栈安全

华为云开发者联盟

容器 数据安全 云安全 Web应用防火墙 华为云安全

亿万级信令服务演化

anyRTC开发者

音视频 实时通信 实时消息

虚拟币合约交易所搭建,永续合约平台搭建

想聊天?自己搭建个聊天机器人吧!

百度大脑

人工智能 聊天 飞桨

假如编程语言是《权力的游戏》中的角色 (上)_语言 & 开发_Sajid Lhessani_InfoQ精选文章