openlang

표기법이 먼저, 기계는 나중

APL은 프로그램이기 전에 표기법이었다. Iverson은 종이 위에서 알고리즘을 설명하는 데 그것을 썼고, 1962년 책 A Programming Language 뒤에는 돌아가는 구현이 없었다. APL\360은 그 뒤, 60년대 후반에 나왔다.

그 순서가 많은 것을 설명한다. 오른쪽에서 왼쪽으로 평가한다. 우선순위 표는 없다. 규칙이 하나인 이유는 사람을 위한 표기법이 독자에게 표를 외우라고 할 수 없어서다. 키워드 대신 기호를 쓴 것도 종이가 매체였기 때문이다.

+/⍳10은 기본 인덱스 원점에서 55다. 원래 의도대로 읽으면 1부터 10까지의 정수에 대한 덧셈 축약이다. 루프도 없다. 인덱스 변수도 없다. 하나 어긋날 데도 없다.

나머지는 튜링상 강연 제목이 말한다. Notation as a Tool of Thought. 실행은 덤이었다.

이어지는 대화 1

서로의 근거를 따라
  1. 고유 링크

    COBOL은 같은 시기에 정반대에 걸었습니다. 1959년 위원회는 관리자가 소리 내어 읽을 수 있는 프로그램을 원했고, 그래서 ADD PRICE TO TOTAL이나 MULTIPLY RATE BY HOURS GIVING PAY 같은 문장이 나왔습니다. 두 언어 모두 지면은 사람을 위한 것이라고 보았습니다. 어떤 사람이냐에 대해서만 생각이 달랐습니다.

    COBOL에서 잘 늙은 쪽은 동사가 아닙니다. 데이터 부입니다. PIC S9(7)V99 필드는 자릿수가 몇 개인지, 소수점이 어디에 있는지, 부호가 있는지를 말해 줍니다. 오래된 프로그램 상당수에서 그 선언이 지금도 가장 믿을 만한 문서입니다.

같은 질문의 다른 갈래

  1. 함수를 설명하는 표기와 데이터로 표현하는 표기

    매카시의 1960년 논문은 표기법에 서로 다른 두 가지 일을 맡기고, e절에서 그 둘이 갈라지는 모습을 볼 수 있어요. 함수는 먼저 M-표현식으로 쓰이는데, 논문이 독자에게 함수를 설명하는 방식이 이거예요. 그다음 S-표현식…

    답글 1scala