직교성, 일반성, 획일성을 구분할 수 있는 예를 들어 보아라. (3-2 프로그래밍언어개념)
직교성, 일반성, 획일성을 구분할 수 있는 예를 들어 보아라
직교성, 일반성, 획일성을 구분할 수 있는 예를 들어 보아라.
일반성 (ex C에서는 되는데 Java에서는 안된다. 일반성이 부족)
pascal은 프로시저 선언과 프로시저를 매개변수로 제공하는데 프로시저형 변수는 없기 때문에 일반성이 부족하다.(프로시저를 자료형처럼 선어냈으면 변수도 프로시저형 선언이 가능해야 프로시저 ㅍ현에 대한 일반성을 갖는 것이다)
pascal에는 가변배열이 없어 일반성이 크게 부족 (C와 Ada는 가변배열 제공)
매개변수 전달기법의 일반성은 (값을 주기만하고, 받기만하고, 주고받을수 있는 3가지가 제공되어야한다) fortan에는 매개변수 전달기법으로 참조전달 기법만이 허용되어 일반성이 부족 (algol68 C, java는 참조, 포인터로 일반성을 높였다, Ada는 3가지 기능 모두 제공)
fortran에는 상수 이름이 존재하지 않는다
직교성 (언어의 구성자들이 문맥이 다르다고 다르게 행동해서는 안된다)
비직교성 - >
pascal에서 함수 반환값으로 오로지 스킬라형이나 포인터형만을 허용하고 구조형을 허용하지 않음 (함수 반환값의 제약) / 파일형은 자료형처럼 주어지나 특별상태를 가짐(파일의 특수성)
Modula2에서 문자열이 더큰길이의 문자열 배열에 배정가능(크기가 다른 객체에 대한 배정이 허용)
C언어의 매개변수 전달방법에 직교성이 없다 (배열만이 참조전달 방식- 나머진 값전달방식)
획일성 (언어구조들의 외모와 행동에서의 조화에 중점을 둔다 – if문은 어디서도 if문을 수행!)
비조화 (유사한것들이 유사하게 보이지 않거나 다르게 행동 / 유사하지 않은것들이 (의도하지 않았는데) 유사하게 보이거나 유사하게 행동 )
pascal에서 repeat문장이 begin-end 없이 자신의 문장블록을 갖는다, but while문, if문들은 begin-end쌍을 필요로한다
pascal의 가변레코드에서 case문장은 case제어문장과 다른구문을 가지고 있다.
pascal의 함수에서 반환값을 보내는 방법이 마치 배정문처럼 보인다.(유사하지 않은것들이 유사하게 보이게함)
modula-2와 pascal에서 세미콜론은 문자 구분자와, 종료표기로 사용된다.