1. 首页
  2. 综合百科
  3. 汇编语言是一种什么样的语言(这个世界上有没有终极编程语言)?

汇编语言是一种什么样的语言(这个世界上有没有终极编程语言)?

简介:关于汇编语言是一种什么样的语言(这个世界上有没有终极编程语言)?的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

拥有20年编程经验的资深程序员【新智元导读】,总结了程序员的编程语言切换规律,并做了一个主流编程语言的高级流程图,展示了不同编程语言之间的继承关系,以及程序员选择编程语言的方向和路径。

一个钢铁程序员,一门流动的编程语言。随着时代的发展,编程语言与时俱进,新的、更好的或更时尚的语言不断出现。程序员将学习一种新的& quot更好& quot主动或被动编程语言。

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

艾弗里像小说和人物报道里典型的程序员一样,有点偏执,喜欢搞笑。我做了7年Debian开发,也许这段经历能说明一些问题。因为Avery资历很广,所以我们也可以从这篇文章中学到一些编程语言发展过程中有趣的历史遗产。

注:本文带有强烈的主观倾向。新智元的一些读者可能持有不同的意见,同意或不同意。欢迎大家留言,提出自己的看法!我们可以看到图中有四条主线,即:

低级语言,即汇编和C,一种商业或教学语言,即BASIC,一种专门为数学和科学开发的语言,即R,一种脚本语言和一种胶合语言,即Shell语言。有人可能会说,这张图缺少了HTML、CSS、Haskell和Lisp,这并不重要,因为Avery并不打算在它们上面展开。

埃弗里提到,在一开始,四种语言有明确的界限。低级语言的程序员用C,汇编或者TurboPascal,商业大型程序员用VB(当然,& quot大号& quot那时候跟& quot大号& quot目前),数值计算器使用Fortran、R或MATLAB,胶水编程使用Shell或Perl。

程序员不会用Perl写操作系统,也不会用VB写大数乘法。现代语言模糊了两者之间的界限,很多R写的程序也可以用Python实现。语言之间的转换主要在于选择不同的风格。

低级编程语言

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

从汇编开始,已经有了三个分支,风格明显不同,但我们先来看C分支。帕斯卡的特点是“开始”.结束'而c是{}。花括号的风格影响了后世很多语言,虽然讨厌花括号的程序员也不在少数。

而且,C还有一种魔力。一旦开始使用,很容易形成习惯。无论最终效率如何,你都会一直想用C来实现一切。而且C是为数不多的能合理实现以上四种编程问题的语言,速度还可以。

从C再往下,还有C和Python2。虽然C的名字看起来是C的高级,但风格却大相径庭。埃弗里吐槽说& quot用c是因为很多做商业大型程序开发的程序员没有选择& quot。

Glue编程就简单多了,用Python2就入门了。虽然Python很慢,但是Perl也被很多同时代的人包围。但作为一个C语言玩家,Avery认为Perl的语法风格只能用怪诞来形容。相比之下,更接近C的Python显然是更好的选择。

快速适应Python语法不需要太多努力;Python调用C函数的成本比Java等语言低很多!唯一的缺点就是慢,但是可以调用C模块来缓解。

后来Java出现了,一大批C和C程序员迅速拥抱Java,让Java长期占据编程语言No1的位置。

Java的缺点是运行时非常慢。不过相对于C超慢的编译速度,令人头疼的头文件,超弱的跨平台,这个缺点不算什么。

Go刚出现的时候,有人称之为C和Java的终结者,其实不然。Avery说,Go最辉煌的时候是因为Python2的程序员发现它比Python跑得快,占用的RAM比Python少,而且写代码相当困难。

虽然围棋现在被认为是一种& quot系统& quot语言,Avery认为Go本质上其实是一种胶水语言。

商用编程语言

BASIC是为& quot让初学者轻松掌握& quot。然而,有点讽刺的是,学术界发现很难教有基本编程经验的学生很好地编程。当然,他们选择了更适合教学的Pascal,而不是c。

后来微软把BASIC改造成了VisualBasic,这可能是JS出现之前最流行的编程语言。我们在Excel里还是用VB,只是改名为宏。

后来TurboPascal的作者创造了一种新语言Delphi,名声很好,后来又开发了C#。相反,VB.NET可以说是一个巨大的失败。

埃弗里还不忘给致命一击:我真想在VB后面加个箭头,但是对不起,我真的不知道这些程序员去哪了。可能你转网页了?还是做Excel宏?

ng>胶水编程语言

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

理想虽然美好,无奈败给了现实,这样看成完美的小程序模块很难实现。于是有了awk,一个和C语法相似的解释语言。

接下来有了Perl,Perl对互联网的兴起起到了非常大的推动作用,同时也借助互联网Perl收获了超赞的口碑。人们使用Perl来运行web的CGI脚本,接受HTML请求,然后进行解析。

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

当然,你之砒霜可能是他人之良药。有人觉得Perl语法丑陋(比如Avery),那么他可能之后会选择使用Python;相反,有人爱死Perl的风格,那么可能会选择Ruby。

所以,如果你还在用Perl写WebCGI脚本,那么请继续吧;或者,你可以考虑一下“全世界最好的语言”PHP。

前端编程语言

JavaScript是一门编程语言,现在应该已经是一个不争的事实了。然而,Avery指出,正因为JS是一个大杂烩,把HTML、CSS、面向对象、函数式编程、动态语言、JIT等等所有涉及到HTML请求的概念,统统囊括进来,导致这个语言特别

而且你能相信一门在20多年前,仅仅花了10天时间就做出来的语言吗?显然它存在着很大的缺陷和一些无法修复的严重错误。

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

你会看到Python和JS形成了一个循环。为什么会这两个会出现纠缠反复呢?Avery说因为用JS久了容易变得不正常,需要通过Python治疗一下。(hmmmm...)

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

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

最后,Avery也没放过Python3。他说在Python3中编写系统程序,你会发现自己经常搞乱unicode转换,甚至连文件名都会搞乱!

善有善报,恶有恶报。

参考链接:

https://apenwarr.ca/log/20190318

本文主要介绍了关于汇编语言是一种什么样的语言(这个世界上有没有终极编程语言)?的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/80514.html