끄적끄적 코딩

프로그래밍 영역

개념적(conceptual)인 것을 실제적(physical)인 것으로
mapping하는 과정을 구현(implementation)이라고 한다.

구현을 한꺼번에 할 수 없기 때문에 알고리즘(algorithm)을 통해서
순차적으로, 절차적으로 하는 방법을 찾아낸다.

 

과학응용 분야

배열, 행렬, 부동 소수점을 주로 처리
반복문 제어문 사용
Fortran을 주로 사용

사무응용 분야

여러가지 종류의 양식들을 표현하고 보고서로 나타낼 수 있도록 사용
COBOL을 주로 사용 (10진수, 문자 데이터 표현 저장 가능)

인공지능 분야

수치 계산보다는 기호 위주의 계산을 주로 사용
스트링 매칭, 패턴 매칭, 이미지캐릭터 매칭
LISP를 주로 사용(리스트 처리 언어)
LISP는 재귀를 기본으로 사용, 순환 종료를 위한 조건 필요.

시스템 프로그래밍 분야

C언어를 주로 사용 (고급 언어이면서 저급 언어이기도 함)

 

언어 평가기준

1. 판독성
2. 작성력
3. 신뢰성
4. 비용


판독성

1. 단순성 : 단순해야한다.
2. 직교성 : 의미가 문맥 독립적이어야 하며, 구문조합이 가능.
3. 제어문의 존재 : 판독성을 높이기 위해 충분한 제어문이 필요
4. 데이터 타입과 구조 : 데이터 타입과 구조가 충분히 제공 되어야 함
5. 구문 고려사항 : 식별자의 길이에 제한이 있어야 한다. 없다면 symbol table에 저장할 수가 없다.
                        예약어를 둔다. (if, while, for, int 등)

작성력

1. 단순성 : 단순해야한다.
2. 직교성 : 의미가 문맥 독립적이어야 하며, 구문조합이 가능.
3. 추상화 : 프로세스 추상화 = 서버 프로그램에 이름을 주고 필요할 때 불러서 사용하는 방식
              데이터 추상화 = 변수, 배열, 구조체 등의 데이터와 연산을 함께 사용. 이것을 합쳐서 하나로 추상화 한 것
4. 표현력 : i = i + 1, i++는 같은 의미를 가진다. 작성력은 후자가 더 높다.

신뢰성

1. 타입 검사 : 신뢰성을 위해 컴파일 시나 실행 중에 타입 오류를 검사한다. 이를 타입 검사라고 함.
2. 예외 처리 : 최근의 프로그래밍 언어들은 try-catch문으로 예외처리를 허용한다.
3. 별칭 : 동일한 기억장소를 두 개 이상의 다른 이름으로 참조하는 것.
           신뢰성에 도움이 되지 않으므로 제한적으로 별칭을 사용해야 함

비용

프로그래머 교육 비용
컴파일 비용 = 컴파일러를 통해서 번역하는데 드는 비용
언어 구현 비용 = 컴파일러를 만드는데 드는 비용
실행 비용 = 컴파일을 마치고 실행 파일이 만들어졌을 때 실행 파일을 통해 결과를 도출할 때까지의 시간
프로그램 유지보수 비용
프로그램 작성비용 
...

그 외에 언어 평가 요소

이식성 : 호환성을 의미
일반성 : 광범위하게 쓰이는 언어인가?
분명성 : 문법적 문제가 있는가?

검색 태그