프로그래밍?-> 문제의 해결 with 컴퓨터
문제의 entity-> 컴퓨터의 변수-> 자료구조
->자료를 처리: 알고리즘
플밍 언어들의 구조,특성을 배움으로써 다른 언어들에 대한 evaluation(평가,선택)을 가능하게 함.
ch3/언어의 문법,의미
ch4/ 문법의 분석,어휘 분석
ch5/변수,scope
ch6/ data type
assignment statement 배정문
expression 수학식,계산식
control statement if,while같은 제어문
ch9/ 함수
ch10/ 함수가 어떻게 실행되나
ch11/ 객체지향,abstract,다형성
ch12/ 객체지향 언어
ch13/ 동시성,쓰레드
ch14/예외처리
ch15/함수언어
ch16/논리언어
연구,비즈니스,인공지능,웹 등 여러 분야
simplexity 단순성
orthogonelity -> 직교성?->
복잡한 것들을 간단한 것들의 조합으로 만들 수 있다.
추상화에 대한 지원
추상화의 2가지?
-처리과정에 대한 추상화: 함수
함수의 목적: 재사용의 단위, 처리의 추상화,
-자료에 대한 추상화: 객체지향,class
표현력
신뢰도
-type checking
a=b+c a,b,c의 타입이 다르면 체크하나
-예외처리
-별명 aliasing
4.cost
언어 습득에 필요한 노력,장벽
작성의 cost, compile의 cost, 실행속도의 cost
cpu, memory ,입출력 장치
cpu에 control unit(decoder),ALU(수학적 처리) fetch해온 명령어들을 해석,수행
cpu 안의 레지스터(기억 장치,program counter)
배정문-> 컴파일->기계어(어셈블리)-> 메모리에 instrucion이 올라옴
, 메모리의 데이터를 cpu의 레지스터로 가져오는 load
메모리의 명령어를 cpu로 fetch해옴(Load), 지시문 처리후 레지스터의 결과를 메모리에 씀(store)
레지스터에 fetch해오고 opcode를 해석해 명령어를 수행하는 일련의 과정을 instruction cycle(fetch-execute cycle)이라 함.
이러한 지시문의 instruction set이 있다. 이 set의 4가지 계열
-decode는 instruction의 앞부분op code? 해석
4가지 부류
하지만 객체지향는 대부분 c언어를 기반으로 해 객체지향 개념을 더한 것으로 기본적으로 imperative하다.
-mark-up 언어는 포맷팅을 해주는 언어이다. 하이퍼 텍스트