javascript c语言-一张图看懂编程语言迁移模型:终端是Python、Go、JS

2023-08-29 0 8,650 百度已收录

钢铁程序员,精简的编程语言。 时代在发展,编程语言也在与时俱进。 新的、更好或更时尚的语言不断出现,程序员会主动或被动地学习新的、“更好”的编程语言。

Tailscale_io 联合创始人 Avery Pennarun,一位拥有 20 年编程经验的资深程序员,根据自己多年来的经验总结了程序员的编程语言切换规则,并制作了主流编程语言的高级流程图来展示不同的编程语言编程语言之间的继承关系,程序员选择编程语言的方向和路径。

艾弗里就像小说和人物报道中典型的程序员一样,有点偏执,喜欢搞笑。 我之前做过7年的Debian开发,但是这段经历可以说明一些问题。 由于Avery的深厚资历,我们还可以从这篇文章中了解一些编程语言发展中有趣的历史发展。

注:本文观点带有较强的主观倾向。 新致远的读者中,可能有人持有不同的意见,无论是同意还是不同意。 欢迎您留言提出自己的想法!

我们可以看到图中一共有4条主线,分别是:

低级语言,即汇编和 C

商业或教学语言,即 BASIC

专门为物理和科学开发的语言,R 的分支

脚本,胶水语言,也就是Shell的一种

似乎有人会说这张图中缺少 HTML、CSS、Haskell 和 Lisp,但这并不重要,因为 Avery 不打算对它们进行扩展。

艾弗里提到,一开始,四种语言有一个比较清晰的界限。 低级语言程序员使用C、汇编或TurboPascal,商业小型程序员使用VB(事实上,当时的“大”与今天的“大”不是一个顺序),数值估计器使用Fortran、R或MATLAB ,使用 Shell 或 Perl 进行磁带编程。

程序员不会用Perl来写操作系统,也不会用VB来写大数的加法。 现代语言模糊了彼此之间的界限,许多用 R 编写的程序也可以用 Python 实现。 语言之间的转换主要是选择不同的风格。

低级编程语言

我们先来看看传说中的合辑。 用汇编语言编写程序是相当困难的,但即使在人工智能蓬勃发展的今天,汇编语言仍然是个别场景下最好的不可替代的编程语言,所有编译后的语言代码都会转换为汇编语言或机器语言。

编译以来出现了三个分支,风格上也有显着差异,但我们先看一下C分支。 Pascal 的特点是“开始...结束”; 而 C 使用 {}。 大括号的风格影响了后世很多语言,讨厌大括号的程序员不在少数。

但C有一个魔力,一旦你开始使用它,很容易养成一种习惯,无论最终效率如何,你总是想用C来实现一切。 而且C也是少数能够合理实现以上四类编程问题的语言之一,而且速度也不错。

C下面是C++和Python2。 事实上,C++的名字似乎是C的高级,但风格却大不相同。 艾弗里抱怨道“之所以使用C++,是因为很多做商业小程序开发的程序员别无选择”。

而且磁带编程要容易得多,只需从Python2开始。 其实Python很慢,当代的Perl也有很多反思。 但作为一名C语言玩家,Avery觉得Perl的句式只能用荒唐来形容。 相比之下,更接近C的Python其实是更好的选择。

不需要花太多功夫就能快速适应Python的句型; Python中调用C函数的成本远低于Java等语言! 唯一的缺点是速度慢,不过可以调用C模块来缓解。

后来Java出现了,一大批C、C++程序员很快投入了Java的怀抱,使Java长期占据了编程语言第一的席位。

Java的缺点是运行时非常慢,但与C++超慢的编译速度、令人头疼的头文件、超弱的跨平台性能相比……这个缺点算不了什么。

Go刚出现的时候,有人称它为C++和Java的终结者javascript c语言,但事实并非如此。 艾弗里表示,Go 最辉煌的时期是因为 Python2 程序员发现它比 Python 运行得更快,占用的 RAM 比 Python 更少,而且编写代码相当困难。

尽管今天 Go 被认为是一种“系统”语言,但 Avery 认为 Go 本质上仍然是一种磁带语言。

商业编程语言

BASIC是本着“新手容易掌握”的宗旨而开发的,而大学却发现很难教有BASIC编程经验的中学生学好编程,这有点讽刺。 事实上,他们没有选择C,而是选择了更适合教学的Pascal。

后来Google把BASIC变成了VisualBasic,这可能是JS之前最流行的编程语言。 选择我们一直在 Excel 中使用 VB,但已将其重命名为宏。

后来TurboPascal的作者创造了新语言Delphi,口碑很好,后来又开发了C#。 相反,VB.NET可以说是非常失败的。

艾弗里还不忘给予非常致命的一击:虽然我很想在VB旁边加一个箭头,但是抱歉,我真的不知道这些程序员去了哪里。 也许切换到网页? 或者搞Excel宏?

磁带编程语言

艾弗里说,磁带语言的鼻祖是Unix Shell。 Unix的设计哲学主张一次只做一件事,并将其做到极致。 这种功能单一但极其易用的小模块可以通过管道串联起来,可以共同完成一项复杂的“大任务”,有点像蚁群。

理想其实很美好,但是却输给了现实,所以很难实现完美的小程序模块。 于是就有了awk,一种类似C句式的解释型语言。

然后就是Perl,Perl对互联网的普及起到了非常大的推动作用,同时也利用互联网上的Perl获得了很酷的名声。 人们使用 Perl 来运行 Web CGI 脚本,接受 HTML 请求,然后解析它们。

你知道 Perl 最令人印象深刻的事情是什么吗? 令人眼花缭乱的标点符号!

事实上,你的砒霜可能是别人的解药。 有人觉得Perl的句型丑陋(比如Avery),所以他以后可能会选择使用Python; 相反,有人喜欢Perl的风格,所以他可能会选择Ruby。

因此,如果您仍在使用 Perl 编写 WebCGI 脚本,请继续; 或者,您可以考虑“世界上最好的语言”PHP。

后端编程语言

JavaScript 是一种编程语言,现在应该是不争的事实。 不过,Avery 强调,正因为 JS 是一个大杂烩,它包含了所有与 HTML 请求相关的概念javascript c语言,比如 HTML、CSS、面向对象、函数式编程、动态语言、JIT 等等,使得这种语言变得非常丑陋。

但你能相信一种 20 多年前仅仅 10 天就创造出来的语言吗? 事实上,它有很多缺陷和一些难以修复的严重错误。

我们回头看这张图,注意右下角的Python3和JS:

可以看到Python和JS创建了一个循环。 两人为何屡屡纠缠在一起? Avery表示,因为长期使用JS后很容易出现异常,所以需要通过Python来处理。 (嗯……)

TypeScript 的问世可能是因为作者是 Delphi 的开发者,Avery 对 TypeScript 给予了很高的评价。

在 Node.js 出现之前,JS 被认为是一种后端语言。 但现在它已经成为后端+前端+命令行的一站式语言。

最后,艾弗里没有放弃Python3。 他说,用Python3编写系统程序时,你会发现经常搞乱unicode转换,甚至搞乱文件名!

善有善报,恶有恶报。

各位亲爱的新智元读者,您怎么看? 请留言表达您对艾利路线图的态度。

参考链接:

新智元春季紧急招聘启动,一起加入AI潮流吧!

职位详情请点击:

【加入社区】

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript c语言-一张图看懂编程语言迁移模型:终端是Python、Go、JS https://www.wkzy.net/game/176578.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务