4190.310 Programming Languages
Lecture Movies
다양한 프로그래밍 언어들이 품고있는 공통된 원리들은 무엇인가?
현재의 프로그래밍 언어들은 얼마만큼 미개한가?
좀더 나아지기 위해서 필요한 것들은 무엇인가?
새로운 프로그래밍 환경을 효과적으로 운용할 수 있는 언어는 무엇인가?
이 강의에서는 이와같은 질문들에 대한 답을 익히거나, 좋은 답을 만들어내기 위해서
필요한 소양을 닦게 됩니다.
Part 0: 기초
- 프로그래밍 언어란 무엇인가
- 귀납법(inductive definitions & inductions)
- 추론규칙(inference rules)
Part I: 상식에 기반한 언어 디자인. 기계중심의 언어, 명령형
언어(imperative language)
- 문법, 의미
- 변수, 프로시저(procedure), 유효범위(scope)
- 타입 시스템(type system)
- 메모리 관리(memory management)
- 번역(translation)과 가상 기계(virtual machine)
Part II: 이론에 기반한 언어 디자인. 값중심의 언어(applicative
language)
- 이론에 기반한 언어
- 단순 타입 추론 시스템(simple type inference system)
- 다형 타입 추론(polymorphic type inference)
- 계층타입 시스템(subtype system)
- 물건중심의 언어(object-oriented language)
- 강의 마무리: 강의 리뷰
|