建筑规范

编程语言是如何构建的? 这是一段简短的历史

我们人类一直在寻找有人来做我们沉重而不必要的工作。 首先是简单的机器,然后是蒸汽驱动的野兽,最后是一堆半导体和石英。

但是,如何获得一块简单的石头来做您想要的呢? 您如何向电路解释您想要什么? 当然,通过编程语言。

这些编程语言是从哪里来的,是谁组成的? 一切都始于理论,编程也不例外。

让我们从分析引擎开始我们的故事。 它是由查尔斯·巴贝奇(Charles Babbage)设计的一种机械计算机,该计算机使用齿轮和弹簧而不是电线和芯片。 1843年,某位Ada Lovelace将巴贝奇的作品进行了翻译。

艾达并没有停止翻译。 在书的最后,她添加了自己的注释,说明如何使用建议的引擎来计算伯努利数。 尽管远离适当的编程语言,但这是朝正确方向迈出的第一步。

下一步是图灵机-再次不是计算机,而是一台计算机的数学模型。 可以对图灵机的物理模型进行编程以进行一些有限的计算,例如求解数学函数,但这太简单了,并且与我们可以称为编程语言的任何事物都相去甚远。

语言应具有可读性和表达力。 如果我们只能说“ ga-ga”和“ go-go”,这有什么用? 因此,这个主题一直搁置到1940年的魔幻时期,那时,充满电力的现代计算机的早期版本问世,并掀起了一波理论和实践热潮。

带有大量有用命令的第一种编程语言是汇编语言。 它令人困惑,看上去疯狂,有时甚至很恐怖,但是它允许程序员以相当简单的方式与给定计算机的硬件进行通信。

有点像盖房子,但根本没有任何工具。 您必须一砖一瓦地组装起来,然后用手掌进行测量。 制作起来不是很容易,但是它确实产生了一个非常快速和轻便的可执行应用程序-如此轻巧,以至于今天它仍然可以用于非常精细的操作,尽管只有灰胡子巫师和巫师才知道汇编语言的艺术。

汇编语言很有用,但是人们想要更多。 他们想要更“高级”,更易于理解和友好的内容。

他们想说点什么。

经过了一些思考和努力,但在1952年,为曼彻斯特大学的大型计算机开发了Autocode编程语言。

自动编码是使用编译器的第一种编程语言,一种特殊的软件将您的程序带入程序,并将其直接转换为机器代码以快速执行。 这样,万能的感谢,不再需要用机器语言编写代码了。 但是Autocode的用途非常有限,因为它是专门为特定计算机设计的。 现在,您正在用一些基本的手动工具建造房屋,例如锤子和弯曲的锯。

编程语言用于编写软件。 但是您知道它们本身也是软件吗?

每种编程语言都有一个编译器,通常使用另一种编程语言编写。 编译器将读取您的程序,并将其转换为计算机可以理解的机器代码。

例如,使用汇编语言编写Autocode编译器,但是使用Autocode编写其编译器的下一个迭代,然后使用第一个编译器进行编译。 令人困惑,不是吗?

好吧,编译器是一种软件,先被编写,然后再编译为机器代码,从而失去了与语言的联系。 因此,您可以使用编译器来编写更好的编译器,因为编译后它只是机器代码。 就像使用一组更简单的工具来制作更好的工具一样,直到您拥有自己的电锯为止。

下一件大事是FORTRAN(公式翻译)。 它于1954年在IBM进行工程设计,是第一种用于通用和通用的高级编程语言。 它四处传播并迅速成为人群的最爱,在某种程度上仍然如此,特别是在您需要闪电般的快速性能但又害怕旧的汇编语言的地方。 FORTRAN给了您一些简单的英语式命令,例如IF,ELSE和READ,但它们仍然没有电源,但是现在您有了手电钻和一些钉子。

1959年对于编程语言而言是非常丰硕的一年。 首先是由美国国防部创建和赞助的COBOL(面向通用商业语言)。 从头开始,它是为大型企业设计的,因此它最终出现在ATM,电话,信用卡服务,医院和其他大型基础设施等系统中。

然后是LISP,LISP被策划用于人工智能研究,但后来偏向更广泛的用途。 它是最早的函数式编程语言之一,简单来说,这意味着您仅使用函数来构建软件,而没有永久状态。

现在,这些语言实际上为您提供了一些用于建造房屋的强大工具,虽然数量不多,但是您确实可以使用电锯。

60年代和70年代初带来了变革之风。 电脑变得越来越便宜,越来越容易使用。 他们的金属外壳遍布世界各地,在许多大学甚至一些家庭中都可以找到自己的位置。

越来越多的人想使用计算机,但是没有多少人可以克服早期编程语言的复杂性。 直到达特茅斯大学的工程师提出了BASIC(初学者的通用符号指令代码)以帮助他们的学生进入不断发展的编程和计算领域。

BASIC语法简化了许多循环的流程,如果获得了THEN,FOR获得了TO和NEXT,DO获得了UNTIL。 现在,您不必处理奇怪的逗号和点,只要您知道一些基本的英语就可以了解发生了什么。

BASIC取得了巨大的成功,并成为许多学生的第一门语言。如果您熟悉Microsoft,您会发现它的分叉版成为他们的旗舰产品。 这更类似于构建宜家家具,获得了预制部件,清晰的说明和一些工具,您只需要弄清楚如何将它们组合在一起即可。

随着这些高级编程语言的兴起,可以编写更加结构化和优雅的代码,并且在许多情况下,人们都深深地怀念它,试图为他们的工作增添些许美感。 这可能意味着任何事情,有些人以编写尽可能短的代码而感到自豪,其他人则是可行的最混乱的代码,而有些人则喜欢在软件结构中添加自己的风格。

Pascal是为许多人打开编程门的另一种语言,专门设计用于向学生教授计算机的神秘艺术。 制作起来很容易,但很难掌握。 而且它仍然存在,已在许多具有过时基础架构的组织中使用。 帕斯卡(Pascal)对苹果计算机起着重要作用,并且是80年代它们的主要语言。

在70年代,发生了一些事情,永远改变了我们所知道的世界。 所有这些的祖父,所有功能强大的C编程语言,都是由贝尔实验室(Bell Labs)由著名的丹尼斯·里奇(Dennis Ritchie)开发的。 它快速,优雅,简单,功能强大,是多平台的,并且语法最佳。

是的,我说了-如果您愿意,请与我战斗。

它与Unix一起像野火一样蔓延开来,比之前和之后的一切都要重要。 至今仍在使用,对于许多人来说,它是他们最爱和最珍惜的伴侣。

C也影响了并且被用来编码当前最沉重的难题的一半,例如Ruby,C#,Java,PHP等等。 今天,我们周围的大多数设备上可能都有少量C。 它为您提供了所有最好的电动和手动工具,但是如果您想建造一个三层楼的豪宅,仍然必须弄脏您的手。

80年代之后,出现了更多带有C语言的语言。 创建第一个Objective-C是对C的扩展,以支持它,您可能已经猜到了,它是面向对象的编程,即将代码分解为具有数据的对象和操作所述数据的函数的概念。 尽管它从未达到主流,但确实找到了进入苹果的macOS和iOS操作系统的途径。

然后是著名和热爱的Bjarne Stroustrup的C ++。 它是一种巨大的语言,它利用C的能力并向各个方向扩展,使其成为全世界使用最广泛的语言之一。 如今,它无处不在,从游戏引擎到操作系统和高性能软件。 现在您有了起重机和挖掘机,重型机械和优良的工具,您可以建造小屋或摩天大楼,C ++可以完成所有工作。

进入90年代后,事情开始加速发展。 电脑已经超越了以往,变成了游戏机,网络服务器,娱乐设备以及您能想到的任何东西。

每个解决方案都需要一种特定的编程语言,因此语言开始左右左右弹出。 受其前辈的影响,但旨在用于更狭窄的目的。 Haskell在1990年成为一种纯粹的函数式编程语言,旨在处理大量复杂的计算和数字运算。 1991年,Python成为了轻巧而又快速的代码的利基市场。 Visual Basic引入了具有图形用户界面支持的拖放式编程风格。

在1995年狂野的Java时代,Sun公司为小型手持设备开发了Java,后来又席卷了整个Internet。 然后是Web开发大师PHP。 JavaScript增强了我们的浏览体验。 C#使C ++更加友好(甚至过于友好),并共同破解了很酷的应用程序,然后轻松地完成了所有事情。

Scala将功能与面向对象的编程相结合,形成了一个很热但是很方便的混乱局面。 而且这个列表还在继续,并且随着每年出现新的语言,带来新的解决方案和解决新问题的情况,它会不断增长。 这些,我们称之为较小的语言,更像是用于制作窗户,地板铺设,壁画的专用工具,很难用一种工具盖房子,但是您可以用它们铺设一些漂亮的瓷砖。

如今,很难预测编程语言的发展方向。 有更多的计算机,模式设备和更多的机器。 程序员只懂一种语言的日子已经一去不复返了,今天,如果您想在某个高级组织中担任低级职位,您最好知道十个。 语言获得了专业化,计算机编程领域也成为一项主要的工程工作。

我们不知道最终的结果,但是会有电脑,也有编程语言。 他们可能是书面的或口头的,心灵感应的或自我产生的。 但是他们会在那里,使机器满足我们的需求和需求。

想和我们写信吗? 为了使我们的内容多样化,我们正在寻找新的作者在Snipette上撰写。 那意味着你! 有抱负的作家: 我们将帮助您塑造自己的作品 知名作家: 单击此处开始

想知道更多吗? 可以在 这里 找到本文的资源和参考