编程语言分类之我见
Posted 数码营电子实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程语言分类之我见相关的知识,希望对你有一定的参考价值。
我之前也是这样听说地:编程语言分两种,一种是低级语言,一种是高级语言。
低级语言不是说水平低,而是按照从机器到人这样一个由低到高的顺序,距离机器语言近的被称为低级语言,距离人的自然语言近的被称为高级语言。
具体来说,低级语言就是指的各种各样的汇编语言,高级语言指的是汇编语言以外的其他编程语言。
但站在今天来看,情况变了,仅仅把编程语言分成高低两种已经与事实有很大距离了。
首先,汇编语言,看过汇编语言代码的人都知道,汇编代码中也有
"if else while",也就是说,汇编代码同C一样,也是类人语言,从语义的理解角度来看,汇编代码同C、Basic代码并无数量级上的差异,那何以称其为低级语言呢?
其次,按过去标准划分,除了汇编语言意外的其他编程语言都属高级语言,但是看看这段C++的代码,真地接近人的自然语言吗?
#include <iostream>
#include <vector>
#include <string>
usingnamespacestd;
int main()
{
vector<string> msg {"Hello","C++", "World", "from", "VS Code", "and the C++extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
C和Basic之类的代码,人从英语语法的角度,大致是能看懂地,而这段代码,不懂C++自己的语法,你是看不懂地。
基于此,我对编程语言的分类是这样地:大的分两类——机器语言和类人语言。机器语言指的是机器指令组成的代码。类人语言指的是其他所有采用助记符作为词汇的编程语言。
类人语言里,按照直观程度,亦即跟人的自然语言的近似程度,分高中低三种:汇编语言是低级语言,C、Basic这些属于中级语言,C++、Java、Python这些属于高级语言。
这样分类的意义何在呢?便于教学。初学者应该选择中级语言,因为中级语言最接近自然语言,不高也不低。
下面,就以“CodeClocks - Console Applications - C”这一个理想的组合来演示一段C代码:
// 交换两个输入变量的值
#include <stdio.h>
#include <stdlib.h>
int a = 0, b = 0;
int *p = &a, *q = &b;
void swap();
int main()
{
printf("please input 2 integers:\n");
scanf("%d, %d", &a, &b);
printf("\nThe 2 integers you input are:%d, %d\n", a, b);
printf("\nBefore swapping, The values of variable a and b are:\n");
printf("a: %d\n", a);
printf("b: %d\n", b);
swap(a, b);
printf("\nAfter swapping, their values are:\n" );
printf("a: %d\n", a);
printf("b: %d\n", b);
return 0;
}
void swap(int m, int n){
m = m + n;
n = m - n;
m = m - n;
*p = m;
*q = n;
}
以上是关于编程语言分类之我见的主要内容,如果未能解决你的问题,请参考以下文章