一图看懂编程语言迁移模式:终点站是Python、Go、JS( 二 )


Java的缺点是运行时很慢 , 然而相比C++超慢的编译速度、让人头大的header文件、超弱的跨平台性…这点缺点不算什么了 。

一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
Go刚出现的时候 , 有人称其为C++和Java的终结者 , 结果并没有 。Avery说 , 想当年Go最辉煌的那阵子是因为Python 2程序员发现它跑的比Python快 , RAM占用比Python少 , 写代码的难度相当 。
虽然现在认为Go是一门“系统”语言 , 但Avery认为本质上 , Go其实还是一个胶水儿语言 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
商用编程语言
BASIC是基于让“新手能够轻松掌握”的目的开发的 , 但是学院派发现有BASIC编程经验的学生 , 很难教好他编程 , 这实在是有点讽刺 。当然他们也没选择C , 而是选择了更适合教学用的Pascal 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
后来微软将BASIC转变成Visual Basic , 这可能是JS出现之前最受欢迎的编程语言了 。选择我们仍然在Excel中使用VB , 只不过它改名叫宏 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
后来Turbo Pascal的作者创建了一门新的语言Delphi , 口碑很不错 , 再后来还开发了C# 。相反 , VB.NET则可以说是非常失败了 。
Avery还不忘给出很有杀伤力一击:我其实很想在VB后面再加一个箭头 , 但不好意思 , 我的确不知道这帮程序员后来去哪儿了 。可能转行做网页了?或者去搞Excel的宏?
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
胶水编程语言
Avery说 , 胶水语言的鼻祖要数Unix的Shell 。Unix的设计哲学倡导一次只做一件事 , 并将其做到极致 。这些功能单一、但是极致好用的小模块 , 通过pipeline链接起来 , 就能合力完成一件复杂的“大任务” , 颇有点蚂蚁群的味道 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
理想虽然美好 , 无奈败给了现实 , 这样看成完美的小程序模块很难实现 。于是有了awk , 一个和C语法相似的解释语言 。
接下来有了Perl , Perl对互联网的兴起起到了非常大的推动作用 , 同时也借助互联网Perl收获了超赞的口碑 。人们使用Perl来运行web的CGI脚本 , 接受HTML请求 , 然后进行解析 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
你知道Perl最让人印象深刻的是什么吗?让人眼花缭乱的标点符号!
当然 , 你之砒霜可能是他人之良药 。有人觉得Perl语法丑陋(比如Avery) , 那么他可能之后会选择使用Python;相反 , 有人爱死Perl的风格 , 那么可能会选择Ruby 。
所以 , 如果你还在用Perl写Web CGI脚本 , 那么请继续吧;或者 , 你可以考虑一下“全世界最好的语言”php 。
前端编程语言
JavaScript是一门编程语言 , 现在应该已经是一个不争的事实了 。然而 , Avery指出 , 正因为JS是一个大杂烩 , 把HTML、CSS、面向对象、函数式编程、动态语言、JIT等等所有涉及到HTML请求的概念 , 统统囊括进来 , 导致这个语言特别丑 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
而且你能相信一门在20多年前 , 仅仅花了10天时间就做出来的语言吗?显然它存在着很大的缺陷和一些无法修复的严重错误 。
我们回头再看这张图 , 注意一下右下角Python 3和JS:
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
你会看到Python和JS形成了一个循环 。为什么会这两个会出现纠缠反复呢?Avery说因为用JS久了容易变得不正常 , 需要通过Python治疗一下 。(hmmmm...)
【一图看懂编程语言迁移模式:终点站是Python、Go、JS】接下来的TypeScript , 可能因为作者是Delphi的开发者 , Avery对TypeScript给予了很高的评价 。
一图看懂编程语言迁移模式:终点站是Python、Go、JS

文章插图
在node.js出现之前 , JS被认为就是一门前端语言 。而现在成为了一门前端+后端+命令行的一条龙语言 。


推荐阅读