FLOW-MATIC

영어와 비슷한 최초의 데이터 처리 언어

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

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

개발

편집

호퍼는 사무용 데이터 처리 고객들이 수학 기호에 불편해한다는 것을 발견하였다.[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.