无二义
即在编程过程中不能出现含有歧义,模棱两可的语句,比如系统所使用关键字如bool、break、case、catch等,用户是不可以将其重新定义,当做变量的。
高效性
编程语言不仅仅是让程序员方便,更重要的是可以让计算机高效的运行。比如C语言中,选择0索引,第一个元素的下标是0,第二个元素的下标为1,第n个元素的下标为n-1。C语言的数组是存储在一片连续的内存空间中的。C编译器就可以直接通过第一个元素的地址,即数组地址,和相应元素的下标来得到它的地址。下面展示一些 内联代码片
。
char arr[] = "this is a C program";
假设arr[0]的地址为100000,编译器可以通过100000 + 2来获取a[2]的地址。从编译器的角度来讲,数组下标[索引]从0开始更为高效。
合乎日常规则
一套编程语言编的再好,也是给程序员用的,程序员也是人,在日常生活中已经养成了一些习惯,如果一套编程语言把加法用“-”表示,把减法用“=”表示,字符只可以从右往左写,那必然会带来很大不便。
相似相同
具有相似性质的运算与书写可以通用,方便程序员的编写,比如:
变量初始化 | 指针初始化 |
---|---|
① int i=5; | ① int *p=&a; |
② int i(5); | ② int *p(&a); |
③ int j=i; | ③ int *q=p; |
④ int j(i); | ④ int *q§; |
⑤ int j{i}; | ⑤ int *q{p}; |
⑥ int j={i} | ⑥ int *q = {p}; |
两者之间的初始化很多用法是相同的。