语言设计
传值机制
程序等于 数据 + 算法。
算法是一个计算步骤,数据是生产资料,也是生产结果。
如何安排数据?
如果只是写一段几百行的小程序,直接存在全局变量里,谁都可以访问,函数也不需要传参。
int src = 10;
int sum = 0;
... // 所有参与计算的变量
int main (){
func1();
func2();
show();
}
int func1(){ ... }
int func2(){ ... }
int show(){ ... }
如果有些中间的临时数据,只想在某些计算过程中可见,而不是像全局变量一样,谁都可以用。于是就出现了局部变量。
int func1(){
int local = 10;
}
计算过程之间的值交换,也希望是私密的,不想通过全局变量(因为任何地方都可以访问到),于是加入 传参机制 返回值机制。
int func1(int a, int b){
return c;
}
我心目中的好语言:
规则严谨
没有歧义
没有黑魔法变异用法
维护性好
常见数据结构整合到语言中
类型系统
数据的解释取决于类型。
基础类型划分清晰
变量总是被初始化为零值
编译器支持类型推导
不允许存在未使用的局部变量
函数
支持多个返回值