次のコードを見てみましょう。
a = 1
a = a + 1
print(a)
: « , a = a + 1? „1 = 2“. ».
: «» «», «». , . ,
a = a + 1 a := a + 1. ?
« C». - : ,
C? !
1960- : COBOL, FORTRAN II, ALGOL-60, LISP. , :
(
initialization) — ,
(
reassignment) — .
, Python :
a = 1 #
a = a + 1 #
print(a)
, , . , , .
| | | |
|---|
| FORTRAN | = | = | .EQ. |
| COBOL | INITIALIZE | MOVE [1] | EQUAL |
| ALGOL | N/A | := | = |
| LISP | let | set | equal |
ALGOL — -.
integer x; x := 5;,
x := 5;. ,
= , FORTRAN — .
- , C ALGOL; , , , -
:= = …
ALGOL CPL
ALGOL-60, , computer science. , . /. «» , - , , . ALGOL «», - .
, «» , . . CPL ALGOL , . , . ,
x; x := 5; integer x = 5. !
:= =. , CPL :
- = .
- ≃ , x ≃ y, x y. x ≃ y + 1 x, «».
- ≡ , .. x , (niladic function), , . , , x — , , .
:
= , . , CPL : -
=, , .
APL,
← . , — , J,
=:[2]. , APL S, R —
<- R.
CPL BCPL
CPL , : . «», . , BCPL. BCPL 1967 … CPL — 1970-.
« », . , - , ( , , ).
=, ,
:. CPL,
= . (
reassignment),
:= — , CPL ALGOL. :
= ,
:= ,
= . , Pascal — « Pascal».
, BCPL « » , (
data word)
[3]. , , . , BCPL .
BCPL B
, BCPL PDP-7. , BCPL « », , PDP-7 (16 4 ). , . . B ; , ++ --.
, BCPL :
= := (
reassignment). , , , =, . , :
x ,
x = y — ? — , !
== « ». :
, , .
, BCPL B, Simula 67, - . Simula ALGOL . Smalltalk, , .
( ) B 1969 . 1971 ()
:=.
B C
… – .
, -, . ML , , , , . - (
reference cells),
:=.
1980, , — , Eiffel Ada,
:=.
,
= « » . ALGOL
:=,
,
= . = C, CPL,
.
1. COBOL . , , ADD TO COMPUTE. COBOL — .
2. ,
:=, ,
. : .
3. BCPL . «»,
2018 .