「=」が割り当てを意味するのはなぜですか?

次のコードを見てみましょう。

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.
COBOLINITIALIZEMOVE [1]EQUAL
ALGOLN/A:==
LISPletsetequal

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 :


: = , . , 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 .


Source: https://habr.com/ru/post/J353292/


All Articles