【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

  • 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


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2021-02-19 15:057534
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论 1 条评论

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

一致性哈希算法 Java 实现

escray

极客大学 极客大学架构师训练营 课程作业

架构师训练营 Week5 - 课后作业

算法 分布式缓存 一致性哈希

[架构师训练营第 1 期] 第五周命题作业

猫切切切切切

极客大学架构师训练营

week5

张兵

极客大学架构师训练营

[架构师训练营第 1 期] 第五周命题作业

猫切切切切切

极客大学架构师训练营

架构师训练营第二期Week 1作业

bigxiang

极客大学架构师训练营

架构设计学习笔记1

Arthur

极客大学架构师训练营

食堂就餐卡系统设计

Sandman

极客大学架构师训练营 作业

架构师训练营 - 作业 - 第五周

Max2012

架构师训练营第 5 周学习总结

netspecial

极客大学架构师训练营

week05学习总结

龙卷风

架构师一期

【第五周】课后作业

云龙

[架构师训练营第 1 期] 第五周命题作业

猫切切切切切

极客大学架构师训练营

架构师训练营 1 期第 4 周:系统架构 - 作业

灵霄

极客大学架构师训练营

[架构师训练营第 1 期] 第五周学习总结

猫切切切切切

极客大学架构师训练营

【第五周】技术选型(一)

云龙

第一周学习总结

Alvin

学习 极客大学架构师训练营 2组

架构师训练 第一周 学习总结

阿光

一致性Hash算法的实现及分析

天天向上

极客大学架构师训练营

架构师训练营第 1 期 -Week5 - 技术选型一学习总结

鲁大江

极客大学架构师训练营 负载均衡架构 缓存架构 消息队列架构

【原创】90%的人都不会做的一道笔试题

田维常

程序员 面试

架构训练营第五周作业

Geek_ce484f

极客大学架构师训练营

食堂就餐卡系统设计

水浴清风

架构师训练营第五周课程笔记及心得

Airs

架构师训练营第 1 期 -Week5 - 课后练习

鲁大江

极客大学架构师训练营

架构训练营第五周作业总结

Geek_ce484f

极客大学架构师训练营

食堂就餐系统

落朽

极客时间第 2 期架构师训练营第一周作业 1

willson

架构师训练营第二期 Week 1 总结

bigxiang

Netty源码解析 -- ChannelOutboundBuffer实现与Flush过程

binecy

源码分析 Netty nio

架构师训练营 1 期第 4 周:系统架构 - 总结

灵霄

极客大学架构师训练营

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