1.프로그래밍 언어의 발전
1.컴퓨터 시스템의 발전
튜링기계(상상속 기계)->애니악(전자 신호)->에드박(프로그램 저장 방식)
2. 운영체제의 발전
일괄처리 운영체제->시분할 운영체제->dos->pc
3. 프로그래밍 언어의 발전
1950
- Fortran 수식 계산, 문장, 제어문, 대입문, 함수->formula translation
- Algor :제어 구조 개념
- Kisp: 함수형 언어 개념 도입
1960
- **Cobol:레코드를 통한 자료구조 개념
- BASIC:교육용 언어
- simula:객체지향 개념 소개
1970
- C unix 개발용 시스템 프로그래밍 언어
- Prolog: 선언적 논리 언어 (참거짓을 따질 수 있는 언어)
1980
- Common Lisp: 함수형 + 객체지향
- Objective-c:c를 기초로한 객체지향 언어 ->apple어플리케이션
실제로는 small talk에 가까움.
- c++: 클래스 개념을 c에 도입
- perl: 정규식을 바탕으로한 패턴 매칭기능->문자열처리에 좋음.
1990
- Java: 객체지향, Jvm(자바 가상 머신)
- JavaScript: 웹 프로그래밍 언어, Netscape, Elm, TypeScript
1990 이후
- python: 빠른 프로토타이핑 언어
스크립트 언어, 동적 언어(실제 동작하면서 런타임에 많은 일을함. 컴파일을 하지 않음.), 다중 패러다임 언어
- Haskell: 순수 함수형 언어, scala에 영향.
2.프로그램 동작 원리
1. 컴퓨터 구조
2. 프로그래밍 언어가 필요한 이유
- 기계어 : 기계가 이해할 수 있는 언어 <->어셈블리어: 기계어에 일대일 대응하는 언어
- 어셈블리어는 cpu에 종속적이다.
- 고급 프로그래밍 언어는 사람이 이해하기 쉽고, cpu에 맞는 기계어로 바꿔 주기만 하면된다.
- 인터프리터
인터프리터는 한번에 컴파일 하지 않고, 한줄의 코드를 여러줄의 기계어로 바꾸어 실행함.
- 컴파일러
한번에 컴파일하고 링킹하여 실행함.