When you’re trying to figure out which programming language to learn , you’re likely to come across the terms “high-level” and “low-level.” People talk about high-level and low-level programming languages all the time.
但这到底是什么意思?对学习编写代码意味着什么?让我们从每种的定义开始,然后从那里开始。
“高级"和“低级"编程语言
在本文中,我将讨论“高级"。和“低级"语言。但是,两者都没有没有特定的资格标准。这就是为什么我还要讨论“较高"和“较低"级别的原因。
请记住,这在很大程度上取决于您的观点。如果您是C程序员,那么Java可能看起来很高级。如果您习惯使用Ruby,则Java可能看起来像是一种低级语言。
机器代码和低级语言
是一种语言,还是一种高级语言或低级语言,级别(或中间的某个地方)都是关于抽象的。机器代码没有抽象-它包含传递给计算机的各个指令。而且由于机器只处理数字,所以它们以二进制表示(尽管有时有时用十进制或十六进制表示)。
这是机器代码的一个示例(通过Wikipedia):
8B542408 83FA0077 06B80000 0000C383FA027706 B8010000 00C353BB 01000000B9010000 008D0419 83FA0376 078BD989C14AEBF1 5BC3
在机器代码中,需要精确指定操作。例如,如果需要从内存中检索一条信息,则机器代码将需要告诉计算机在内存中的哪个位置可以找到它。
可以直接在机器代码中写入,但是非常困难。
低级编程语言在计算机代码中添加了一些抽象。这种抽象将特定的机器代码指令隐藏在更易于阅读的声明后面。汇编语言是仅次于机器代码的最底层语言。
在机器代码中,您可能会编写类似“ 10110000 01100001"的文字,但是汇编语言可能会将其简化为“ MOV AL,61h" "。在汇编语言中编写的内容与传递给计算机的指令之间仍然存在着几乎一一对应的关系。
进入更流行的编程语言,您将来到C之类的东西。尽管不如汇编语言那么低,但是用C语言编写的内容和机器代码之间仍然存在着很强的对应关系。大部分用C语言编写的操作都可以用少量的机器代码指令完成。
高级编程语言
就像低级语言一样,高级语言涵盖了广泛的范围。抽象范围。某些语言(例如Java(您可能会说它实际上是中级编程语言))仍然可以使您对计算机如何管理内存和数据的方式有很多控制权。
其他语言(例如Ruby和Python)非常抽象。它们使您较少访问这些较低级的函数,但是语法更易于读写。您可以将类归为一类,而这些类会继承特征,因此只需要声明一次即可。
变量,对象,例程和循环都是高级语言的重要组成部分。这些概念和其他概念可帮助您通过简短的语句告诉计算机执行许多操作。
其中汇编语言的命令与机器代码命令之间几乎一一对应,而汇编语言则更高。级别的语言可能能够通过一行代码发送数十个命令。
请务必注意,“高级编程语言"可能包含更抽象的内容而不是汇编语言。这取决于谁在讨论主题。因此,当您谈论或阅读语言时,请确保您在同一页面上。
您应该学习低级语言还是高级语言?
这可以确保是新手和有抱负的程序员之间的常见问题。高级还是低级编程语言更好?与许多编程问题一样,高级编程语言和低级编程语言问题并不是那么简单。
两种语言都具有重要的优势。低级语言,因为它们几乎不需要计算机解释,因此运行速度非常快。它们为程序员提供了对数据存储,内存和检索的大量控制。
高级语言在直观上更易于掌握,并使程序员可以更高效地编写代码。这些语言也被认为是“更安全的",因为有更多的保护措施可以防止编码人员发出写得不好的命令,从而导致损坏。但是,它们并不能赋予程序员对底层流程的太多控制权。
记住这一点,以下是从低到高的一系列流行语言的选择:
当然,这部分是主观的。而且它仅包含可用语言的小截面。
但是,它应该使您对感兴趣的语言的规模有所了解。
在决定要学习什么时,第一个问题应该是您要编程的内容。
如果您要编写操作系统,内核或任何需要以绝对最高的速度运行的东西,使用低级语言可能是一个不错的选择。许多Windows,OS X和Linux都是用C和C衍生的语言编写的,例如C ++和Objective-C。
许多现代应用程序都是用高级甚至领域特定的语言编写的。尽管HTML5变得越来越强大,但Python和Ruby在Web应用程序中尤其流行。 Swift,C#,JavaScript和SQL之类的语言都有各自的优缺点。
我最近在编程论坛上阅读了有关此问题的主题,并提出了一个有趣的建议:学习两者都。您将对使高级语言更有效的抽象类型有更深入的了解。
当然,一次学习两种语言并不容易,因此您可能需要将它们错开一点。同样,选择两种相似的语言也可能会有所帮助。
同样,我们将回到之前提到的观点:根据您要构建的语言选择一种语言强>。做一些研究以找出您所在领域的人们正在使用的语言。然后使用这些信息选择高级和低级语言,并开始研究它们。
您很快就会看到相似之处,并且将对编程的工作方式有更深入的了解。
关注目标,而不是追求目标
您可以使用很多标准来选择编程语言。高级别与低级别是其中之一。但是在几乎每种情况下,您应该使用的标准是您要编程的内容。
您的项目可能会受益于低级语言。或者在更高级别的环境中可能会更有效。关键是为工作选择合适的工具。专注于您的目标,您每次都会选择正确的语言。
标签: