요구사항
표현 풍부성
-> 프로그래머의 아이디어를 표현할 수 있어야 한다. -> 원하는 것을 작성할 수 있어야 한다.
유지 보수성
-> 어떤 변화가 생겼을 때 대처가 필요하다. 요구사항이 바뀌는 경우 대응해야 살아남을 수 있다.
실행 가능성
-> 컴퓨터에서 실행할 수 있어야 함
설계 원칙
규칙성
-> 언어의 기능이 잘 조합될 수 있어야 한다.
-> 일반성, 직교성, 일관성
추상화 지원
-> 실세계의 대상을 추상화하여 나타낼 수 있고 이를 대상으로 어떤 연산을 수행할 수 있어야 함
-> 데이터 추상화, 제어 추상화, 추상 데이터 타입 정의
복잡도 제어
-> 복잡한 대상 및 처리 방법을 제어할 수 있어야 한다.
-> 캡슐화, 모듈화
평가 기준 1
작성력
가독성
신뢰성
직교성
일관성
평가 기준 2
확장성
효율성
유연성
이식성
프로그램 사용자 측면 vs 프로그램 개발자 측면
검사 비용을 줄여야 함 <-> 더 많이 검사해야 함
간단한 기능이 이해하기 쉬움 <-> 복잡하더라도 많은 기능이 지원되어야 함
안전을 위해 더 많은 제약을 가해야 함 <-> 프로그램 작성시 제약이 적어야 함
프로그래밍 언어의 선택 기준
해당 프로그래밍 언어를 사용하는 커뮤니티가 활발하고 호의적인 언어
특정 응용 분야가 존재하는 프로그래밍 언어
접해보지 못한 프로그래밍 패러다임을 지원할 수 있는 프로그래밍 언어
참고자료
- 프로그래밍 언어론(우균, 김진욱 공저)
반응형
'CS > 프로그래밍언어론' 카테고리의 다른 글
구문론과 의미론 용어 정리 및 연습 문제 풀이 - 프로그래밍 언어론 (1) | 2023.12.08 |
---|---|
방송대 프로그래밍 언어론 기출문제 오답률 높은 문제들 정리 및 해설 (1) | 2023.12.08 |
방송통신대학교 프로그래밍 언어론 요약 정리 및 연습 문제 (0) | 2023.12.05 |
프로그래밍 언어 패러다임 (0) | 2023.10.09 |
메모리에 적재된 프로그램의 기계어 명령어 하나를 컴퓨터의 CPU가 수행하는 과정 (1) | 2023.10.09 |