跳至内容
发展中重要的功能
- 最早命名为IAL(国际代数语言,International Algebraic Language), 后来改为ALGOL 58.
- 复合语句概念(仅用于控制流)。
- 赋值用:=, 相等用=.
- 数组下标概念。
- 嵌套过程声明。
- 数字语句label.
- switch标志。
- 变量声明可以在程序任意位置,不必一定在procedure开始。
- ALGOL 60引入了:
- void类型。
- 代码块(扩展了ALGOL 58的复合语句),使用BEGIN和END(后期改为小写begin和end).
- 修改变量声明只能在procedure开始。
- 它依然没有输入输出功能,原因是标准委员会意见不统一,标准输入输出留给编译器和使用者决定。这对于语言普及有很大影响。
- BNF范式作为语言设计的文法规则,对后续编程语言影响甚远。
- 词法作用域。
- 函数定义嵌套。
- 递归概念。
- 圆括号()表达式求值,安排运算优先级。
- 控制流程if/goto/for.
- 过程procedure.
- 过程参数传递方式:按值传递和按名字传递。
- ALGOL 68标准相当庞大复杂,有很多学院理论气息,也能看到这些大师的功底,不少是现代编程语言才有的特性,不过编译器和实现极为困难,但C和Pascal深受它影响。
- WHILE、CASE语句。
- 切片(没错,就是Python的切片)。
- 并行处理(你没听错,真的是并行同步控制的语句)。
- 讨论是否引入”匿名函数”。
- 共用体union.
- 引用。