FLOW-MATIC
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
FLOW-MATIC은 1950년대 초 그레이스 호퍼가 개발한, 영문과 유사한 구문을 사용하여 연산을 표현하는 최초의 프로그래밍 언어이다. 데이터 처리 문제를 영어 키워드로 표현하려는 아이디어를 바탕으로 개발되었으며, 데이터 연산과 데이터 설명을 명확히 분리한 최초의 시스템이었다. FLOW-MATIC은 COBOL의 형성에 영향을 미쳤으며, 자연어 프로그래밍을 사용하는 세계 최초의 프로그래밍 언어이기도 하다.
더 읽어볼만한 페이지
- 코볼 - 2000년 문제
2000년 문제는 과거 컴퓨터 시스템의 연도 표기 방식 때문에 2000년을 1900년으로 오인할 수 있는 잠재적 문제였으나, 전 세계적인 노력으로 큰 혼란 없이 해결되었고 정보 시스템 엔지니어들의 노력과 위기 관리의 중요성을 보여주었다. - 코볼 - 그레이스 호퍼
그레이스 호퍼는 미국의 컴퓨터 과학자이자 해군 제독으로, 세계 최초의 컴파일러인 A-0을 개발하고 COBOL 개발에 기여하며 컴퓨터 시스템 표준화에 크게 기여했다. - 절차적 프로그래밍 언어 - C (프로그래밍 언어)
C는 하드웨어 제어와 이식성이 뛰어난 고급 절차적 프로그래밍 언어로서, 다양한 분야에서 사용되며 후속 언어에 영향을 주었고, 성능과 효율성이 높지만 안전성 문제 개선이 필요한 언어이다. - 절차적 프로그래밍 언어 - 펄
펄은 래리 월이 개발한 텍스트 조작에 강점을 가진 다목적 프로그래밍 언어이며, 1987년 펄 1.0이 처음 공개된 이후 여러 버전 업데이트를 거쳐 객체 지향 프로그래밍과 유니코드 지원 기능을 추가했고, 현재 펄 5가 널리 사용되며 CPAN을 통해 방대한 모듈 생태계를 제공한다.
FLOW-MATIC - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
이름 | FLOW-MATIC |
종류 | 명령형 프로그래밍 언어 |
개발 시작 | 1955년 |
개발자 | 레밍턴 랜드, 그레이스 호퍼 |
영향을 받은 언어 | ARITH-MATIC, Laning and Zierler system |
영향을 준 언어 | MATH-MATIC, AIMACO, COBOL |
플랫폼 | UNIVAC I |
2. 개발
1950년대 초, 그레이스 호퍼는 사무용 데이터 처리 고객들이 수학 기호에 불편함을 느낀다는 것을 발견하였다.[1] 1953년 말, 그녀는 데이터 처리 문제는 영어 키워드를 사용하여 표현해야 한다고 제안했지만, 랜드 경영진은 그 아이디어가 실현 불가능하다고 여겼다. 1955년 초, 그녀와 그녀의 팀은 그러한 프로그래밍 언어에 대한 명세를 작성하고 프로토타입을 구현했다.[2] FLOW-MATIC 컴파일러는 1958년 초에 공개되었으며 1959년에 실질적으로 완성되었다.[3]
FLOW-MATIC은 영어와 유사한 구문을 사용하여 연산을 표현한 최초의 프로그래밍 언어였다.[3] 또한 데이터에 대한 연산과 데이터의 설명을 명확하게 분리한 최초의 시스템이기도 했다.[3]
3. 혁신과 영향
래닝-지엘러 시스템은 대수 공식을 파싱하는 최초의 프로그래밍 언어였으며, 1954년 호퍼가 이를 알게 된 후 그녀의 연구 방향이 바뀌었다.[4] 호퍼는 사무용 데이터 처리 고객들이 수학 기호에 불편해한다는 것을 발견하고, 1953년 말 데이터 처리 문제는 영어 키워드를 이용하여 표현되어야 한다고 주장하였으나, 당시에는 실현 불가능하다는 평가를 받았다. 그러나 1955년 초, 그녀와 팀은 프로그래밍 언어 사양을 작성하고 프로토타입을 구현하였다.[19] FLOW-MATIC 컴파일러는 1958년 초에 대중들이 이용이 가능하게 되었으며 1959년에 실질적으로 완성되었다.[20]
FLOW-MATIC은 COBOL 형성에 큰 영향을 미쳤다.[5] FLOW-MATIC이 COBOL에 제공한 주요 요소는 다음과 같다.
4. 샘플 프로그램
다음은 FLOW-MATIC 프로그램의 샘플이다.[21][22]
```cobolfree
(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-NO`, `UNIT-PRICE` 등)는 `DIRECTORY` 섹션에 정의되어 있으며, 영어와 같은 문법을 이용하지는 않았다.[23] 파일은 FILE-LETTER의 마지막 문자로 참조된다. (예: FILE-A는 A로 참조) 작업은 0부터 n까지 순서대로 번호가 매겨지고, 해당 순서대로 수행된다. (JUMP 등의 구문에 도달/실행되지 않는 한) 가장 높은 번호의 작업은 프로그램을 중단하는 작업이다.
5. 같이 보기
wikitext
- 그레이스 호퍼
- COBOL
- AIMACO
5. 1. 관련 인물
그레이스 호퍼는 사무용 데이터 처리 고객들이 수학 기호에 불편해한다는 것을 발견하였다.[18] 1953년 말, 그레이스 호퍼는 데이터 처리 문제는 영어 키워드를 이용하여 표현되어야 한다고 주장하였으나 랜드 관리부는 이 아이디어가 실현 불가능하다고 생각하였다. 1955년 초, 그레이스 호퍼와 그녀의 팀은 이러한 프로그래밍 언어에 대한 사양을 작성하고 프로토타입을 구현하였다.[19] FLOW-MATIC 컴파일러는 1958년 초에 대중들의 이용이 가능하게 되었으며 실질적으로는 1959년에 완성되었다.[20]5. 2. 관련 기술
COBOL은 FLOW-MATIC과 그 직계 후손인 AIMACO의 영향을 받아 형성되었다.[5] FLOW-MATIC에서 가져온 주요 요소는 다음과 같다:- 입력 및 출력 파일과 인쇄 출력을 미리 정의하는 것[6] (예: `INPUT 파일명 파일문자;`, `OUTPUT 파일명 파일문자;`, `HSP 파일문자;`)
- 데이터 이름 한정 ( `IN` 또는 `OF` 절).
- 파일 `READ` 연산에 대한 `IF END OF DATA (AT END)` 절.
- 비유적 상수 `ZERO` (원래 `ZZZ...ZZZ`, 여기서 `Z`의 수는 정밀도를 나타냄).
- 프로그램을 섹션으로 나누어 프로그램의 다른 부분을 분리. (Flow-Matic 섹션: '''컴퓨터'''(환경부), '''디렉토리'''(데이터부), '''컴파일러'''(절차부)).
참조
[1]
문서
Hopper (1959) p. 198.
[2]
문서
Hopper (1978) p. 16.
[3]
문서
Sammet (1969) p. 316
[4]
서적
Grace Hopper and the Invention of the Information Age
MIT Press
2012-02-10
[5]
문서
Sammet (1978) p. 204.
[6]
간행물
FLOW-MATIC PROGRAMMING SYSTEM
Remington Rand Univac a Division of Sperry Rand Corporation
1957
[7]
문서
Sperry Rand (1957) p. 7.
[8]
문서
Sammet (1969) p. 323.
[9]
문서
Hopper (1978) p. 18.
[10]
간행물
FLOW-MATIC PROGRAMMING SYSTEM
Remington Rand Univac a Division of Sperry Rand Corporation
1957
[11]
문서
Hopper (1959) p. 198.
[12]
문서
Hopper (1978) p. 16.
[13]
문서
Sammet (1969) p. 316
[14]
문서
Sammet (1978) p. 204.
[15]
문서
Sperry Rand (1957) p. 7.
[16]
문서
Sammet (1969) p. 323.
[17]
문서
Hopper (1978) p. 18.
[18]
문서
Hopper (1959) p. 198.
[19]
문서
Hopper (1978) p. 16.
[20]
문서
Sammet (1969) p. 316
[21]
문서
Sperry Rand (1957) p. 7.
[22]
문서
Sammet (1969) p. 323.
[23]
문서
Hopper (1978) p. 18.
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com