2008. 9. 19. 02:17ㆍStudy/Programming
PASCAL
파스칼(Pascal)은 1969년 스위스의 컴퓨터 과학자 니클라우스 버트가 개발한 프로그래밍 언어로써 발표당시에는 아주 기본적인 컴퓨터 언어의 요소만을 가지고 있었으므로 시스템을 직접 다루기에는 부족하였다. 파스칼이라는 이름은 프랑스의 수학자이자 철학자 블레즈 파스칼의 이름을 딴 것으로 포인터를 사용한 구조적 프로그래밍은 그 특징으로 한다. 과학연구를 목적으로 만들어진 고급언어인 알골은 컴파일러 규모가 크고 다양하므로 복잡한 프로그램 처리에 유리하지만, 배우기가 어렵고 구조가 복잡했다. 이러한 단점을 보완해 파스칼은 쉽고 효율적으로 프로그램을 작성할 수 있도록 간결성과 신뢰성에 중점을 두어 개발하였다. 풍부한 데이터구조, 구조화 프로그래밍에 적합한 제어구조를 가지며 주로 과학계산용 중·소형 컴퓨터에서 쓰인다. 데이터형식에는 스칼라데이터형식·구조데이터형식·포인터데이터형식 등이 있다. 스칼라데이터형식에는 정수형·실수형·2진법형·문자형·논리형·부분범위형·열거형 등이 있고, 구조데이터형식에는 배열·레코드(가변레코드)·집합·파일형이 있으며, 포인터데이터형식에는 리스트·트리·그래프 등이 있다. 문장은 대입문·절차문·호출문·GOTO문 등으로 이루어지는 단순문과 복합문·조건문·반복문·WITH문 등으로 이루어지는 구조문이 있다. 절차나 함수는 재귀적(再歸的)으로 호출되며, 그 인수로는 값인수·변수인수·절차인수·함수인수 등이 있다. 1983년 국제표준화기구(ISO)에서 국제규격이 정해졌다.
파스칼은 같은 시기에 마찬가지로 영향을 받아 제작된 C와 여러 가지 면에서 유사한 점을 갖는다. 그러나 코드를 간결하게 하고 버그를 더 쉽게 잡아내기 위한 목적으로 몇가지 기능을 제한함으로써 결과적으로 C언어에 비해 활용도가 떨어지는 언어가 되었다. 그러나 완전히 비실용적인 언어라는 뜻은 아니며 실제로 TeX나 초기 매킨토시 운영체제 제작에 사용되기도 하였다. 최근에는 파스칼 컴파일러 자체가 크게 개선되고 소프트웨어 개발 기술의 발전으로 이런 사소한 차이점을 거의 무시할 수 있는 단점이 되었다. 어셈블리를 직접 사용하기도 하며 현재는 초기의 파스칼에 비해 많은부분이 추가. 개선되고 다른 언어의 장점들을 따와 상용 파스칼 컴파일러인 델파이는 C++과 거의 기능차이가 없다.
파스칼 소스코드의 예
null_index := -1; {-1 will mean "not found"} test_inx := 0; {index of first char} done := (len = 0); {don't loop if no data}
while not done do begin if buf [test_inx] = chr (0) then begin null_index := test_inx; done := true; end else begin test_inx := test_inx + 1; if test_inx >= len then done := true; end; end; |