프로그래밍 언어

ttomy·2022년 3월 7일
0

프로그래밍 언어

목록 보기
3/11

1

프로그래밍?-> 문제의 해결 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/논리언어

CH1.preliminaries

1.1 reason why

  • 언어의 기반 이해-> 고급 플밍
  • 언어의 이해-> 적합한 언어선택
  • 새로운 언어 학습능력 향상

1.2 domain

연구,비즈니스,인공지능,웹 등 여러 분야

1.3 evaluation criteria

    1. 가독성
    1. 쓰기편하냐
    1. 신뢰도 relibility
    • simplexity 단순성

    • orthogonelity -> 직교성?->
      복잡한 것들을 간단한 것들의 조합으로 만들 수 있다.

    • 추상화에 대한 지원
      추상화의 2가지?
      -처리과정에 대한 추상화: 함수
      함수의 목적: 재사용의 단위, 처리의 추상화,
      -자료에 대한 추상화: 객체지향,class

  • 표현력

  • 신뢰도
    -type checking
    a=b+c a,b,c의 타입이 다르면 체크하나
    -예외처리
    -별명 aliasing

  • 4.cost
    언어 습득에 필요한 노력,장벽
    작성의 cost, compile의 cost, 실행속도의 cost

1.4 언어 설계에 영향 미치는 요소

  • 컴퓨터 구조
    imperative language 명령형 언어,주류 언어
    명령형 언어가 나타난 배경-> 컴퓨터 구조상 (폰 노이만 구조)
컴퓨터 명령어 처리 구조

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가지 계열

  • load계열
  • store계열
  • ALU(연산)
  • jump->program counter(PC)의 값을 바꿔줌, 제어문,분기문의 수행

-decode는 instruction의 앞부분op code? 해석

  • methodology 방법론
    70s-데이터지향 설계
    80s-객체지향 설계 등의 영향

1.5 언어 카테고리

4가지 부류

  • imperative 명령형 언어
  • functional 함수언어
  • 논리언어
  • 객체지향 언어
  • html , mark-up 언어

하지만 객체지향는 대부분 c언어를 기반으로 해 객체지향 개념을 더한 것으로 기본적으로 imperative하다.

-mark-up 언어는 포맷팅을 해주는 언어이다. 하이퍼 텍스트

0개의 댓글