B语言介绍
B语言是贝尔实验室的计算机先驱KenThompson和DennisRitchied与年设计开发。他们的主要其他功绩还有Unix操作系统和C语言。可以说C语言就是改进化的B语言(B-NewB-C)。
B语言由KenThompson设计开发,后由他的老伙计老丹执笔开发,设计最初是为了使用Multics。
B语言主要集成了BLCP的衣钵,但对其做了较大精,B语言支持递归、无类型、独立于机器,主要用于方便对这些特性需求的应用,比如操作系统,编程语言等,其实就是为了写Unix和C语言方便。
B语言语言特性
B语言设计时充分体现了Thompson关于典型应用中应该尽可能减少非空行数的宗旨
1、赋值语句和等号
类ALGOL语言的一些语法做修改,用=取代了了:=做为赋值操作符,相等判断语句==。
Thompson还引入了加赋值语句(做加操作,并赋值)a=+b(注意这个C语言中的+=顺序是不一样的)
这些修改影响了,以后编程语言语法,现在绝大多数的语法都和这语法一样。
2、递增递递减符号
开始添加了++递增和--递减操作符号,可能是为了操作内存地址更方便一点。
3、B语言是无类型语言,或者说只有一个类型:word。加减乘除等大多数的语句都中都被当作是整型计算,其他的操作的都是内存地址,对其进行解引用。
4、其他方面和C语言都是一样的,设置很多内置的函数库和C语言的标准I/O库是一样的(这正好说明C就是B,嘿嘿)。
B语言的用途
B语言最早是用在DECPDP-7和PDP-11等早期的Unix小型机上以及使用GCOS操作系统的霍尼威尔GE-上。早期是在PDP-7小型机编译为threadedcode的,后来Ritchie用TMG语言写了一个编译器把它编译为机器码。
年KenThompson和DennisRitchied收购一台PDP-1,threadedcode用于端口、一个汇编的dc程序以及用B编译的B语言组合启动了这台小机。然后,就是这台机器为此后C语言的诞生立下了汗马功劳,用它的Ritchie写了早期的yacc程序。
用B语言还写下了的第一款Mud游戏mdash;mdash;AberMUD,可能大多数人都不知道Mud游戏,但是这个基于文字的现实模拟游戏确实非常有有意思,当年都玩过,也自己改过,可以说这个是现代网络游戏的鼻祖,尤其是Web游戏,不就是在Mud基础上加了一些图片么?
B语言实例
我们来看肯大写的一个B语言的实例:
/*基于输入的b语言程序输出一个非负的数字n,2=b=10,函数利用了0-10的ASCII字符集,是个连续的值。*/
printn(n,b){
extrnputchar;
autoa;
if(a=n/b)/*赋值语句,不是等号判断*/
printn(a,b);/*递归掉用printn()函数*/
putchar(n%b+0);
}
B语言仍然在发挥余热
按理来说B语言在完成C语言后就完成使命了,寿终正寝了才对。以至于,现在只有了解C语言历史的人才知道B语言。但是实际上B语言还在发挥余热呢?
由于B语言支持扩展的类库、工具、没有额外授权成本;足够简单,足够胜任。所以在一些微小型硬件系统上任然有再用。
现在还在用的GCOSmainframe。
进一步扩展:单字母开头的语言
简单列下,不在多做扩展介绍,有兴趣回复笔者,以后可以做介绍。
C语言(包括C++和)
C#语言
由微软发布,大牛AndersHejlsberg主持开发。海尔斯伯格主要作品还包括了TurboPascal,turboC,delphi,C++build,J++,F#,.net框架以及和TypeScript。是个传奇的程序员,世界上最顶级的程序员之一。
D语言
F语言
G语言
G语言有好几种语言叫这个名字,我们就取两个:
J语言
K语言
M语言
P语言
R语言
R语言是一个统计计算,数据分析和图形展示的免费开源软件。基于GNU发行的包,由R软件基金会维护,其。随着机器学习和AI兴起、R语言也变得越来越流行了。在年最新的TIOBE语言榜R位于13位。