PL/1 - 프로그래밍언어

2008. 9. 19. 02:15Study/Programming


PL/1 ( 피엘원)

PL/1은 1955년 IBM사가 발표한 프로그래밍 언어로써 어셈블리 언어와 코볼 및 포트란의 대안으로서 개발된 3세대 프로그래밍 언어이다. PL/1은 "Programming Language 1"의 약자이며 과학기술, 상업, 사무처리 등의 범용컴퓨터에 알맞도록 개발한 언어이다. 이전의 포트란 언어는 과학기술용, 코볼언어는 사무처리용으로 각각 장점을 지녔는데 이것들을 알골 언어를 써서 단일체계로 정리하였다. IBM사는 이에 덧붙여 오퍼레이팅 시스템(Operation System), 컴파일러 등의 시스템 기술과 병렬태스크(Task)처리기술까지 가능한 다목적 프로그래밍 언어로써 PL/1을 개발하였다. PL/1은 프로그래머가 필요한 서브셋만 알면 특정 응용분야에 적용가능하도록 언어설계에 직교성을 부여하였다. 프로그램을 필요에 따라 나누어 처리할 수 있는 블록구조, 데이터를 다양한 형태로 처리할 수 있는 데이터변환, 그리고 2가지 이상의 일을 동시에 처리할 수 있는 다중처리능력을 가진 언어인 한편 언어의 수가 많아 배우기 어렵다는 단점이 있다. PL/1은 C 프로그래밍 언어보다 선행된 언어였지만 작성이 어렵고 오류가 빈번히 발생하며 속도가 느리다는 단점 등으로 이제는 범용 프로그래밍 언어로서의 자리를 C에게 내주었다.

PL/1 소스코드의 예

PRGRM1:PROCEDURE OPTION(MAIN);

DECLARE COUNT DECIMAL FIXED;

PUT LIST(‘How many values will be input?’);

GET LIST(COUNT);

IF COUNT >= 1 THEN

BEGIN;

RUNNING_TOTAL = 0;

PUT SKIP LIST(‘Enter the first value’);

GET LIST(FIRST_VALUE);

SMALLEST = FIRST_VALUE;LARGEST = FIRST_VALUE;

RUNNING_TOTAL = RUNNING_TOTAL + FIRST_VALUE;

DO I=2 TO COUNT;

PUT SKIP LIST(‘Enter next value’);

GET LIST(VALUE);

RUNNING_TOTAL = RUNNING_TOTAL + VALUE;

IF VALUE > LARGEST

THEN LARGEST = VALUE;

ELSE IF VALUE < SMALLEST THEN SMALLEST = VALUE;