ALGOL
すなわち swap(i, A[i]) という場合である(詳しくは引数#名前渡しを参照)。乱数関数を渡す場合にも問題が生じる。
しかし、ALGOLの設計者は名前渡しをデフォルトとした。また、言語処理系実装者たちは名前渡しの実現にThunk(サンク)(英語版)という興味深い技法を編み出した。現在、素朴な(ALGOLのような)名前渡しは完全に廃れたが、サンクは遅延(非正格)評価を実装する一般的な手法として知られる。ドナルド・クヌースは処理系が「再帰呼び出しと非局所的参照」を正しく実装しているかを評価するman or boy test(英語版)を考案した。このテストには名前呼び出しの例が含まれている(クヌースらは他にも、名前渡しの「悪用」とでも言うべきJensen's Device(英語版)と後に呼ばれるようになるような技法の一例を示した "ALGOL 60 Confidential"など、仕様のコーナーケースを暴き、コンピュータ・プログラミング言語設計の難しさをあらわにした)。
ALGOL の影響として、後の言語のうちの最も多くに影響があるものは、BEGIN/END(C 言語などでは{ })の入れ子によるブロック構造化、つまり次のような典型的な形の記法であろう。
俗に「ALGOL 文法」といった場合は、このブロック構造化記法のことを指していることがある(C言語のように他の記号を使うものも含めて指していることもあれば、そうではなくてBEGIN/ENDのようにキーワードを使う、という意味で言っていることもある)。後の静的スコープの言語についても、ALGOLからの影響と言われることがある。
ALGOL 68 では、2段階文法のワインハールデン記法で文法が記述された。ALGOL 60 の後継言語制定に至るまでの候補としてニクラウス・ヴィルトの ALGOL W、日本で設計された ALGOL N 等もあったが最終的に ALGOL 68 が後継として制定された。しかし、あまりに複雑かつ巨大な仕様のため ALGOL 68 コンパイラの実装は難しく、またワインハールデン記法が難解なこともあり実用的には、ほとんど普及しなかった。そのため単に ALGOL と言った場合にはALGOL 68 ではなくて ALGOL 60 やその方言を指すのが一般的である。
言語の標準化としては、IFIP TC2/WG2.1 において ALGOL 60 が制定された。その後、遅々として標準化作業はすすまず、1984年になって、ISOで ALGOL 60 相当の言語が標準化されたのみである。日本では、かつて ALGOL 60 の言語規格と入出力ライブラリ規格をそれぞれJIS規格で制定していたが (JIS C 6210-6219)、1983年(昭和58年)9月1日付で廃止された。