1.언어란?
:사람이 사람에게 의사를 전달하는 수단
2.프로그래밍 언어란?
:사람이 기계에게 의사를 전달하는 수단, 하지만 사람도 고려해야함.
3.자연어 vs 프로그래밍 언어
4.프로그래밍 언어의 기능
- 작성력:사람의 의도를 담을 수 있음.
- 가독성:사람이 읽기 쉽게 해줌.
- 실행가능성:컴퓨터에서 실행되어야함.
5.프로그래밍 언어 스펙트럼
프로그래밍 언어가 컴퓨터 구조에 가까울 수도 있고 프로그래머에 더 가까울 수 있다.
6.프로그래밍 언어 구조
- 데이터:이진 데이터, 텍스트 데이터
- 연산:연산은 항상 특정한 결과값을 가져옴.
1. 원시연산: 기본적으로 언어가 제공하는 연산
2. 라이브러리: 사용자가 자주 사용할 많나 연산을 미리 정의한 것.
3. 사용자 정의 연산: 사용자가 정의 하는 연산 (operator overloading)
- 명령어: if, while
- 서브 프로그램: 프로그램을 이루는 작은 코드 블록(서브루틴)
1. 함수: 반환값 있음.
2. 프로시저: 반환값 없음.
- 타입 : 데이터 + 연산
1.강타입 언어: 타입 오류를 모두 검출하는 언어
ex) 함수의 인자로 미리 지정된 자료형이 오지 않는 경우 인지할 수 있는 경우.
2.약타입 언어: 일부 타입 오류 발생해도 허용(묵시적 타입 변환 허용)
3.무타입 언어: 타입 선언문도 없고 대상의 타입이 계속 변경가능함.
- 모듈: 함수, 클래스등의 독립적인 프로그램 구성단위
7.구문론 vs 의미론
8.프로그래밍 언어론을 배워야 하는 이유
- 새로운 언어를 새롭게 배우기 위해
- 언어를 더 깊게 이해하기 위해
- 언어 설계자가 되기 위해