25
고수준 언어와 저수준 언어 Chapter 24

Chaper24 languages high_and_low

Embed Size (px)

Citation preview

Page 1: Chaper24 languages high_and_low

고수준 언어와 저수준 언어

Chapter 24

Page 2: Chaper24 languages high_and_low

프로그램 작성

•제어판을 이용하여 입력.

•종이에 어셈블리어 작성후 수동으로 어셈블 과정을 거쳐 입력.

•컴퓨터를 이용하여 변환을 해보자.

Page 3: Chaper24 languages high_and_low

CP/M 운영체제에서 ASM

• ED.COM 편집기로 ASM 작성 저장.

Page 4: Chaper24 languages high_and_low

어셈블(assemble)

• CP/M에 포함된 ASM.COM 으로 어셈블.

• ASM PROGRAM1.ASM

• PROGRAM1.COM

• Hello!

Page 5: Chaper24 languages high_and_low

PROGRAM1.COM

• 11 09 01 0E 09 CD 05 00 C9 48 65 6C 6C 6F 21 24

0109h0100h

Page 6: Chaper24 languages high_and_low

교차 어셈블러(cross-...)

1. 0109h 값을 수동으로 계산하여 어셈블.

2.자동 계산하는 어셈블러를 제작.

3.새로운 마이크로 프로세서의 어셈블러를 제작.

Page 7: Chaper24 languages high_and_low

어셈블러의 단점

•작성하기 힘듦.

•이식성 부족

- 8080 용 앱은 6800용으로 포팅 필요.

Page 8: Chaper24 languages high_and_low

고수준 프로그래밍 언어

• A * Sin (2 * PI + B) / C

•텍스트 파일을 읽고, 대수학적 표현을 기계어로 변환.

•저수준 언어는 하드웨어와 밀접고수준 언어는 높은 추상화 수준.

Page 9: Chaper24 languages high_and_low

컴파일러(compiler)

•어셈블리어와 기계어간에 1:1 대응 관계.

•고수준 언어 한줄이 여러 줄의 기계어 명령어로 변환.

Page 10: Chaper24 languages high_and_low

고수준 언어의 장단점

장점 단점

어셈블리에 비해 쉽다. 컴파일러가 변환하는 것보다 더 좋은 코드를 작성.

좀 더 명확하고, 소스 크기도 작다.

크기와 실행 속도의 이점.

이식 가능성이 높다.

Page 11: Chaper24 languages high_and_low

최초의 컴파일러

•그레이스 머레이 호퍼

• UNIVAC 용 A-0

• COBOL

• Bug

Page 12: Chaper24 languages high_and_low

FORTRAN

•지금까지 사용되는 가장 오래된 고수준 언어.

• FORmula + TRANslation

• IBM 704 용으로 개발.

•과학자와 엔지니어가 사용하기 적절.

•최초의 옵티마이즈 된 컴파일러

•부동소수점, 복소수 지원

Page 13: Chaper24 languages high_and_low

천공카드

Page 14: Chaper24 languages high_and_low
Page 15: Chaper24 languages high_and_low

ALGOL

•범용 프로그래밍 언어들의 기원.

•고수준 언어들이 추구하는 다양한 속성.

• ALGOrithmic Language

Page 16: Chaper24 languages high_and_low

ALGOL-like

•변수 선언(타입), 대입, 루프, 조건등이특정 규칙에 적용.

Page 17: Chaper24 languages high_and_low

에라토스테네스의 체

Page 18: Chaper24 languages high_and_low
Page 19: Chaper24 languages high_and_low

COBOL

•비지니스를 하는 사람들과 비즈니스의 문제를 해결할 수 있도록 설계된 언어중 가장 성공한 언어.

•실제 프로그래밍을 하지 않는 관리자들도 쉽게 프로그램 코드 읽고 검토할 수 있도록...

Page 20: Chaper24 languages high_and_low

PL/I

• PL/I는 System/360 컴퓨터를 연결하는 프로젝트에서 제작.

• Programming Language Number One

• ALGOL 블록 구조, FORTRAN 수학 함수,COBOL 레코드 처리 및 리포트 생성 지원.

•그러나 유명해지지 못했다.

Page 21: Chaper24 languages high_and_low

BASIC

•존 케메니, 토마스 커츠

•인터프리터

•개인용 컴퓨터에서 FORTRAN, ALGO, COBOL, PL/I

•소형 컴퓨터에서 BASIC 의 영향력이 컸음.

•빌 게이츠와 폴 앤런 MS 설립, 알테어(Altair) 용 BASIC 제공.

Page 22: Chaper24 languages high_and_low

파스칼(Pascal)

• ALGOL에서 많은 부분 계승.

•볼랜드 사의 Turbo Pascal.

•개인용 컴퓨터에서 IDE 제공.

• Ada 언어에 영향을 끼침.

Page 23: Chaper24 languages high_and_low

C•데니스 니치.

• BCPL 의 간략한 버전 B에서 파생.(Basic Combined Programming Language)

• C 언어로 UNIX 제작.

• 간결함. (begin, end -> {})

• 시프트, 비트 단위 논리 연산.

• 포인터.

• 고수준 어셈블리어.

Page 24: Chaper24 languages high_and_low

LISP

•대부분의 언어들이 ALGOL 형식과폰노이만 아키텍처에 기반.

•존 매카시가 개발한 LISP. (LISt Processing)

•폰노이만 아키텍처를 따르지 않는 언어.

•두번째로 오래된 고수준 언어.

Page 25: Chaper24 languages high_and_low

• IBM 704에서 Steve Russell 이 LISP 구현