FLOW-MATIC

FLOW-MATIC
패러다임명령형
설계자레밍턴 랜드, 그레이스 호퍼
발표일1955 (1955)
플랫폼유니박 I
영향을 받은 언어
ARITH-MATIC
영향을 준 언어
MATH-MATIC, AIMACO, 코볼

FLOW-MATIC(본래 이름: B-0 (Business Language version 0))은 영어와 비슷한 최초의 데이터 처리 언어이다. 1955년부터 1959년까지의 기간 동안 그레이스 호퍼 하의 레밍턴 랜드유니박 I용으로 개발되었다. 코볼 개발에 중대한 영향을 미쳤다.

개발

호퍼는 사무용 데이터 처리 고객들이 수학 기호에 불편해한다는 것을 발견하였다.[2] 1953년 말 그녀는 데이터 처리 문제는 영어 키워드를 이용하여 표현되어야 한다고 주장하였으나 랜드 관리부는 이 아이디어가 실현 불가능하다고 생각하였다. 1955년 초, 그녀와 그녀의 팀은 이러한 프로그래밍 언어에 대한 사양을 작성하고 프로토타입을 구현하였다.[3] FLOW-MATIC 컴파일러는 1958년 초에 대중들의 이용이 가능하게 되었으며 실질적으로는 1959년에 완성되었다.[4]

샘플 프로그램

샘플 FLOW-MATIC 프로그램은 다음과 같다:[5][6]

 (0)  INPUT INVENTORY FILE-A PRICE FILE-B ; OUTPUT PRICED-INV FILE-C UNPRICED-INV
     FILE-D ; HSP D .
 (1)  COMPARE PRODUCT-NO (A) WITH PRODUCT-NO (B) ; IF GREATER GO TO OPERATION 10 ;
     IF EQUAL GO TO OPERATION 5 ; OTHERWISE GO TO OPERATION 2 .
 (2)  TRANSFER A TO D .
 (3)  WRITE-ITEM D .
 (4)  JUMP TO OPERATION 8 .
 (5)  TRANSFER A TO C .
 (6)  MOVE UNIT-PRICE (B) TO UNIT-PRICE (C) .
 (7)  WRITE-ITEM C .
 (8)  READ-ITEM A ; IF END OF DATA GO TO OPERATION 14 .
 (9)  JUMP TO OPERATION 1 .
(10)  READ-ITEM B ; IF END OF DATA GO TO OPERATION 12 .
(11)  JUMP TO OPERATION 1 .
(12)  SET OPERATION 9 TO GO TO OPERATION 2 .
(13)  JUMP TO OPERATION 2 .
(14)  TEST PRODUCT-NO (B) AGAINST ZZZZZZZZZZZZ ; IF EQUAL GO TO OPERATION 16 ;
     OTHERWISE GO TO OPERATION 15 .
(15)  REWIND B .
(16)  CLOSE-OUT FILES C ; D .
(17)  STOP . (END)

이 샘플에는 오직 프로그램의 실행문들 COMPILER 섹션만 포함되어 있다. 레코드 필드 PRODUCT-NOUNIT-PRICEDIRECTORY 섹션에 정의되며, 여기에는 영어와 같은 문법을 이용하지는 않았다.[7]

참고 문헌

  • Hopper, Grace (1978). Keynote Address, History of Programming Languages I. ACM. pp. 16–20. ISBN 0-12-745040-8
  • Hopper, Grace (1959). “Automatic programming: Present status and future trends”, Mechanisation of Thought Processes, National Physical Laboratory Symposium 10. Her Majesty's Stationery Office. pp 155–200, cited in Knuth, Donald; Trabb Pardo, Luis (August 1976). 《The Early Development of Programming Languages》 (기술 보고서). Computer Science Department, School of Humanities and Sciences, Stanford University. 2016년 3월 19일에 확인함. 
  • Sammet, Jean (1969). Programming Languages: History and Fundamentals. Prentice-Hall. p. 316–324. ISBN 0-13-729988-5
  • Sammet, Jean (1978). "The Early History of COBOL", History of Programming Languages I. ACM. pp. 199–243. ISBN 0-12-745040-8
  • Sperry Rand Corporation (1957) Introducing a New Language for Automatic Programming: Univac Flow-Matic

각주

  1. Hopper (1959) p. 198.
  2. “I used to be a mathematics professor. At that time I found there were a certain number of students who could not learn mathematics. I then was charged with the job of making it easy for businessmen to use our computers. I found it was not a question of whether they could learn mathematics or not, but whether they would. […] They said, ‘Throw those symbols out — I do not know what they mean, I have not time to learn symbols.’ I suggest a reply to those who would like data processing people to use mathematical symbols that they make them first attempt to teach those symbols to vice-presidents or a colonel or admiral. I assure you that I tried it.”[1]
  3. Hopper (1978) p. 16.
  4. Sammet (1969) p. 316
  5. Sperry Rand (1957) p. 7.
  6. Sammet (1969) p. 323.
  7. Hopper (1978) p. 18.