교육용이라고 해서 진짜 교육을 목적으로 고안된 언어란 뜻은 아니다. 당시의 다른 언어들이 고문 수준으로 복잡했기 때문에 '이정도면 프로그래밍 가르칠 때 쓰면 좋지'하고 내놓은 식. 문법이 엄격하고 다중으로 해석될 여지가 없어서[2] 프로그래밍 개념을 익히는 데 좋다라는 의미 정도. 스펙이나 퍼포먼스를 비교해봐도 C/C++에 뒤지지 않는다. 실제로 지금도 현장에서 쓰이고 있으며 고대에서는 C와 함께 양대산맥이었을 정도. 실례로 압축프로그램인 빵집은 파스칼 기반의 델파이로 개발되었다. 2인의 제작자가 개발한 그녀의 기사단도 델파이. 또다른 지식의 성전시리즈도 파스칼. 애플 시대까지 거슬러 올라가면 울티마시리즈를 비롯한 많은 게임들이 파스칼로 개발되었다. [3] 여담으로, 이는 사실 언어 자체가 특별히 탁월하기 보다는 볼랜드사의 터보 파스칼 시리즈가 워낙 품질이 좋아서 그런 거. 비주얼베이직이 나오기 전까진 프로그래밍 언어계에선 볼랜드가 甲이었던 시절이 있었다.



파스칼은 C와 마찬가지로 알골계 언어이므로 전체적으로 보면 C과 문법의 스타일이 조금 다른 것을 빼곤 큰 차이점은 없지만 여러 소소한 차이점이 있다. 그 중에서 중요한 문제 한 가지는, 배열이나 문자열 자체가 하나의 타입인 것이 아니고 배열과 문자열의 크기 및 범위까지를 포함해서 타입으로 정의한다는 점이다. 예컨대 Array 1..10 of Integer 와 Array 2..8 of Integer 는 서로 다른 타입이다.[4] 이 때문에 컴파일러에서 배열의 범위 검사 등을 하기가 매우 용이해졌기 때문에 더 높은 안전성을 보장하지만, 임의의 길이의 배열을 변수로 받는 함수 등을 정의할 수 없다는 점은 많은 프로그래머들, 특히 C등의 언어에 익숙한 프로그래머들이 쉽게 받아들이기 어려운 것이었다. 이 때문에 여러 상업용 컴파일러들이 이를 수정한 문법을 제시하였지만, 이런 부분은 표준이 아니라서 서로 호환되지 않는다.



특히 '문자열을 저장할 때 그 길이를 같이 저장한다'라는 개념은 일명 '파스칼 식 문자열'로 불리우며, 문자열의 끝에 특수한 기호를 두어 끝을 표시하는 'C 식 문자열' 과 함께 전산학에서 중요한 떡밥이 되었다. 파스칼 식 문자열은 용량에 있어서 손해를 보고 수정될 때 마다 매번 길이를 계산해서 업데이트해 줘야 하지만 긴 문자열들을 처리할 때 속도상에 이득이 있다.(C 문자열의 경우 무조건 처음부터 훑으면서 처리해야 하는 반면 파스칼 식 문자열은 막바로 끝을 찾아갈 수 있다)

이 때문에 많은 수의 데이터를 빠르게 처리해야 하는 마이크로소프트 엑셀에서는 C언어 계열로 만들어졌지만 자체적으로 파스칼 식 문자열 저장 형식을 만들어서 각 '셀'의 정보를 저장한다.


출처:

namu.wiki/w/%ED%8C%8C%EC%8A%A4%EC%B9%BC(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4)?rev=14