1.低级语言
(1).机器语言
这种语言是完全面向机器的语言,由纯粹的二进制代码组成的语言,可以由计算机直接识别和运行的语言,拥有极高的执行效率。可是因为只有“0”、“1”两种信息,十分难以编写和读懂。例如某种计算机规定1011011000000000为加法指令,而1011010100000000为减法指令。可以看出执行一个操作需要16位二进制代码,并且差别较小使其难以分辨(上例中只有7、8两位不同),给阅读和调试等操作带来极大不便;还可以看出,16位二进制代码共可以表示2^16(2的16次方)=65536个不同的指令或信息,有的计算机甚至由32位的二进制代码来控制机器的运行,这样使语言十分难以学习,程序员不得不带着厚重的表格;而且对于不同的机器拥有不同的代码规范,导致在一台机器上编译的程序无法在其它机器上运行。随着时代的进步,机器的淘汰是必然的。
(2)汇编语言
处于机器语言和高级语言中间的语言。汇编语言用了一些帮助记忆、学习的符号来代替二进制代码,执行效率也比较高。但是指令也不是十分容易读懂,而且仍旧有一个缺点,就是程序代码过长让人难以贯穿全程序读懂,还有大量跳转(MOV)语句。例如,以下为WindowsXP记事本运行中的一段汇编代码:
- 77F767D5int3
- 77F767D6ret4
- 77F767D9moveax,fs:[00000018]
- 77F767DFret
- 77F767E0pushedi
- 77F767E1movedi,dwordptr[esp+0Ch]
- 77F767E5movedx,dwordptr[esp+8]
- 77F767E9movdwordptr[edx],0
可以看出,程序已经运行到第77F767E9行(相当于十进制数字2012702697),并且也不容易读懂。但是由于其执行代码的高效性,现在仍旧有许多人使用汇编语言,更多人是把它与高级语言混合使用,因为用它制作windows程序不是十分方便,所以仅在一些需要速度的部分使用它(例如在DirectDraw表面半透明Alpha混合时使用)。
(3)小结
机器语言和汇编语言通称低级语言,它们的共同点就是面向机器,执行效率高,虽然现在因为CPU的规范化等原因,现在机器上编译的程序可以拿到其它机器上去运行,但是难学、难记、难写、难检查的缺点仍旧无法去除,所以现在已经不是十分普及的语言了。
2.高级语言
为了让计算机能够更方便人使用、更普及,出现了面向人而不是面向机器的高级语言。这些语言使用类似人类语言的语句(但是因为不是中国人发明的,所以是英语的,所以还是要好好学英语啊,不然还是看不懂……)来编写程序。例如b= Sin(a)表示对a进行正弦计算,并把结果存到b里去,Let c =1表示对c赋值,使其等于1。高级语言的出现使更多人可以轻松的掌握计算机语言了。高级语言需要进行编译才能运行,编程软件会自己将程序语言转换成一条条的通用二进制代码,使计算机可以识别和运行。以下是如今比较流行的计算机高级语言,以及语言的特长:
BASIC 十分易学的语言,适用于初学者
C,C++ 适用于制作系统,强大的稳定性
LOGO 简单易学,小学生一般也能掌握,有独特绘图功能
PASCAL 最早出现的结构化语言,适用于教学
FORTRAN 适用于数值计算
COBOL 适用于商业和管理领域
PL/1,ALGOL 68 大型通用语言
ADA 工程化的大型语言,在国际系统使用
LISP,PROLOG 用于人工智能领域
高级语言将计算机应用推进了一个新的时代。
计算机语言有N多种,N>10,优缺点不太好说,因为我没有学过所有的语言。就我的感受,高级语言(比如basic)比较接近自然语言(当然是英语),低级语言(比如汇编)比较接近机器语言。因此,要熟练掌握低级语言还要对机器硬件有较深的了解,学习起来当然费劲一些。要成为真正的高手,学低级语言。要入门,学高级语言。
现在招聘时常用的是VB,VC,VB.NET、JAVE。VB简单易用,但可挖掘功能很差,编写的软件质量一般。VC复杂一些,但是可深入的挖掘,而且控制低级语言如汇编、机器语言有不错的表现。
.NET语言用于网络发布。
---摘自 网络