Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어

Slides:



Advertisements
Similar presentations
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 프로그래밍 언어론 2nd edition Tucker and Noonan 1 장 소 개 A good programming language is a.
Advertisements

운영 체제의 일반 발표자 : 백승재 황영종. 1. 운영체제의 의의 전자 계산기에서 사용자와 하드웨어와의 직접적으로 대화하는 대신 운영 체제라는 시스템 프로그램을 통하여 하드웨어를 다루는 것이다. 한정된 컴퓨터 자원을 효율적으로 관리, 운영함으로써 사용자에게 편의성을 제공하는.
Scientists who made Computers 컴퓨터를 만든 과학자들. 1 언어 (Language) 학자 2 알고리즘 (Algorithm) 학자 3 인공지능 (Artificial Intelligence) 학자 contents 차례 뉴욕 시티의 헤이든 플라네타리움.
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
학습목표 UML 소개 2010 학년도 2 학기. 학습목표 2 이번 시간의 학습목표 이번 시간을 정상적으로 이수하면 우리들은 … UML(Unified Modeling Language) 의 개념을 설명할 수 있다. UML 의 구성요소를 설명할 수 있다.
1 비주얼 베이직 소개와 개발 환경 구축 비주얼 베이직 프로그래밍 환경을 구축하자!.
제 4 장 변수, 영역, 수명 변수 바인딩 영역 기억장소 할당과 수명 변수와 그 환경 변수 초기화 상수와 변수.
8장 프로그래밍 언어 8.1 프로그램이란? 8.2 프로그램 언어의 역사 8.3 프로그램 설계 절차
(강의 홈페이지: 강좌 개요 서울대학교 통계학과 2010년 2학기 컴퓨터의 개념 및 실습 (강의 홈페이지:
Scientists who made Computers
제 3장 프로그래밍 언어 설계 3.1 설계 기준의 역사적 변천 3.2 효율성 3.3 일반성, 직교성, 획일성
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
C 언어 강의 Windows, Unix 중심으로.
제4부 전문가시스템 (Expert Systems)
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
컴퓨터 소프트웨어.
2/3장 역사 및 언어 설계 원리.
과목 홈페이지  전산학개론 이메일 숙제를 제출할 경우, 메일 제목은 반드시 ‘[전산학개론]’으로 시작.
제 2장 언어의 변천 2.1 디지털 컴퓨터 이전의 언어 년대 : 최초의 프로그래밍 언어
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어
Kasimov C언어 세미나 1st.
소프트웨어 공학 (Software Engineering)
프로그래밍언어론 2nd edition Tucker and Noonan
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
Chapter 9 – 부 프로그램 Outline 9.1 개요 9.2 매개변수 평가와 전달기법 9.3 형식 매개변수 명세
컴퓨터 및 HCI의 역사 숙명여자대학교 임순범.
강의 내용 및 방법 접근방법 시험 수업은 75분(14:30-15:45), 혹시 부족하면 보강
장. 문법 구조(Syntax) 컴퓨터공학과 권기태 프로그래밍언어론.
제 1 장 C 언어의 개요 Google 공동 창업자, 래리 페이지와 세르게이 브린.
Visual C++ Programming
2. 컴퓨터 및 HCI의 역사 2010년 2학기 숙명여자대학교 임순범.
정보(information) 데이터(data) 어떤 사물에 대한 소식이나 자료 가공된 데이터
멀티미디어시스템 멀티미디어 정보화 사회 IT응용시스템공학과 김 형 진 교수.
『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사
Power Java 제1장 자바 소개.
제 1장 시스템 소프트웨어의 개요.
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
명품 C++ 프로그래밍 1장. C++ 시작.
제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요
Lecture 01: Compiler Overview
5장 이름, 바인딩, 영역(2) 순천향대학교 컴퓨터공학과 하상호.
제 10장 부 프로그램 10.1 개요 10.2 매개 변수 평가와 전달 기법 10.3 형식 매개 변수 명세
제 1장 서론 Hello!! C 언어 강성호 김학배 최우영.
프로그래밍언어론 2nd edition Tucker and Noonan
myfood.com 상명대 맛집 홈페이지 구축 제안서
제 5장 변수, 바인딩, 식 및 제어문 5.1 변수 5.6 표현식 5.2 바인딩 5.7 조건문 5.3 선언 5.8 반복문
컴퓨터 및 HCI의 역사 숙명여자대학교 임순범.
제 1 장. 자료구조와 알고리즘.
운영체제 발표자료 B반 최민웅.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Chapter 4 변수 및 바인딩.
Chapter 02. 소프트웨어와 자료구조.
1장 기본적인 사항 순천향대학교 컴퓨터공학부 하 상 호.
Chapter 13 – 객체 지향 프로그래밍 Outline 13.1 소프트웨어의 재사용과 독립성
제6장 소프트웨어와 정보시스템 김진수
Name Title Company Name
언어 언어 사람 사람 사람들간의 의사 소통을 위한 수단
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
컴퓨터 새내기 탈출 4. 컴퓨터에 생명을.
C언어 개요 프로그래밍이란 프로그래밍 언어란 컴퓨터와의 의사소통을 위한 표현 방법 세대별 언어의 발전을 거듭함
컴퓨터 및 HCI의 역사 숙명여자대학교 임순범.
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
운영체제 학 번 : 이름 : 변현영.
제 1장 프로그래밍 언어 소개 1.1 프로그래밍 언어란 무엇인가 1.2 프로그래밍 언어를 배워야 하는 이유
제 2장 언어의 변천 2.1 디지털 컴퓨터 이전의 언어 년대 : 최초의 프로그래밍 언어
Presentation transcript:

Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어 2.1 디지털 컴퓨터 이전의 언어 2.2 1950년대 : 최초의 프로그래밍 언어 2.3 1960년대 : 프로그래밍 언어의 폭증 2.4 1970년대 : 간결성, 추상화, 연구사항 2.5 1980년대 : 통합과 새로운 방향 2.6 1990년대 : World Wide Web 프로그래밍 (Java) 2.7 언어의 세대론과 미래

2.1 디지털 컴퓨터 이전의 언어 최초의 알고리즘 Euclid 찰흙판, BC 1500 – 3000, 바빌론 근처 메소포타미아 60진법 사용 (현재 시, 분, 초 개념에 사용), 부동 소수점, 가감승제 가능 대수학 방정식 해결 ( “이것이 프로시저다” 표현 사용) if x < 0 then branch 개념 없음 (음수, 0 개념 없음) 알고리즘 반복 작성, 우수한 표기법이었음 Euclid B. C. 300년, 최대공약수 알고리즘 (모국어 사용) 수에서 0 개념 없음, 수 1이 제수로 인식되지 않았음 특수 경우 반복 시킴 바빌로니아 사람들 보다 별로 진보되지 못함

2.1 디지털 컴퓨터이전의 언어 Charles Babbage (1792 – 1871) Difference Engine 계산 처리를 위한 기계 유한 차 (finite difference)의 원리를 기본으로 함 Analytical Engine : 현 디지털 컴퓨터의 원리 포함 현재 컴퓨터와 유사한 구조 프로그램과 자료를 주기억장치에 저장시키는 저장 개념 없음 (연산카드, 변수카드 사용) Ada Augusta(C Babbage 조수) 최초의 컴퓨터 프로그래머 (Analytical Engine 프로그래머) Ada의 ‘알고리즘 분석’에 대한 견해 “거의 모든 계산에서 성공적인 수행을 할 수 있는 매우 다양한 배치 방법들이 가능하다. 그리고 이들 배치 방법을 선택하는데 있어서 계산을 수행하는 기계 목적에 맞도록 여러 가지 고려해야 할 점들이 있다. 한 가지 중요한 고려 대상은 계산하는데 필요한 시간을 최소로 줄이는 배치 방법을 선택하는 것이다.”

2.1 디지털 컴퓨터이전의 언어 1930년대 – 1940년대 프로그래밍 표기에서 창조적인 것들이 급격히 증가 Zuse의 Plan Calculus Turing의 Turing Machine Church의 Lambda Calculus Aiken의 Mark I von Neumann의 Flow Diagrams 디지털 컴퓨터의 초기 개발자에게 알려지지 않음

FORTRAN I  FORTRAN II  FORTRAN Ⅳ  FORTRAN 77  FORTRAN 90  1957 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 FORTRAN I  FORTRAN II  FORTRAN Ⅳ  FORTRAN 77  FORTRAN 90   ALGOL 58  ALGOL 60 ALGOL W   Pascal  Mesa  MODULAR-2  MODULAR-3  Oberon  ALGOL 68  APL  COBOL  FLOW-MATIC SIMULAR I   BASIC  PL/I SIMULAR 67   CLU  Euclid  Ada 83  Ada 95  Eiffel  Smalltalk 80  Smalltalk 72  CPL  BCPL  B  C  C++  Java QuickBASIC  VisualBASIC   MinimalBASIC  ML  Miranda  LISP  Scheme  COMMON LISP  ANSI C  SNOBOL  Prolog  ICON

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 초반 1950년대 중반 기계어 사용 (프로그램 저장 방식) Fortran (Formula TRANslation) 1954 – 57, John Backus에 의해 고안된 최초의 고급 언어 Fortran II, Fortran IV, Fortran 66, Fortran 77, Fortran 90 Fortran 컴파일러는 효율적인 기계어 코드를 생성 언어의 긴 생명 배열, 반복 구조, 분기문, 부프로그램 등의 특징은 이후 언어에 큰 영향 기호화 어셈블리 언어 기계 의존적 자연어와 상이한 구문

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 후반에 등장한 언어 COBOL (Common Business-Oriented Language) 상업자료처리용 ALGOL 60 (ALGOrithmic Language 60) 알고리즘 기술, 범용 Lisp (LISt Processor) 기호연산, 리스트 처리용 APL (A Programming Language) 배열처리용

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 후반 COBOL (COmmon Business-Oriented Language) 1959 - 60, 미국방성의 Grace Hopper에 의해 고안 설계 목적 사용자들이 프로그램을 읽기 쉽고, 이해하기 쉽게 함 언어의 특징 레코드 구조 도입 자료구조와 실행 부분을 분리 “PICTURE”를 써서 원하는 출력 양식의 가변성 부가

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 후반 ALGOL 60 (ALGOrithmic Language 60) 1958 - 60, 알고리즘 서술을 위한 일반적인 표현 언어 언어의 특징 양식의 자유화(free format), 구조적 명령문, begin-end 블록, 변수 타입선언, 되부름, call-by-value 매개 변수 등의 개념 소개 스택 기반 실행 환경 도입 Backus-Naur Forms(BNF)을 최초로 사용

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 후반 Lisp (LISt Processor) 1950 년대 후반, MIT의 John McCarthy에 의해 고안 일반적인 리스트 구조와 함수의 적용을 기본으로 함 인공지능 분야 응용 언어의 특징 통일된 자료구조, S-expression 기본적인 계산 표기법에 함수 적용 garbage collection 개념 소개 되부름의 원조

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 후반 APL (A Programming Language) 1950 년대 후반에서 60년대 초반 하버드대의 K. Iverson에 의해 고안 언어의 장점 배열과 행렬에 대한 연산이 쉽고, 강력한 프로그래밍 언어의 단점 제어구조가 없음 특정 터미널에만 있는 그리스 기호 사용 프로그램 이해 난이

2.3 1960년대 : 프로그래밍 언어의 폭증 Sammet의 “Programming Languages: History and Funda Mentals”책 표지

2.3 1960년대 : 프로그래밍 언어의 폭증 1960년대 시대적 특징 1960년대 등장한 언어 초기 언어 성공 언어 개발 몰두 수백의 언어 탄생 특별한 관심 분야나 목적 예 : 그래픽, 통신, 보고서 작성 분야 등 대부분의 언어는 소멸, 소수 언어는 지대한 공헌 1960년대 등장한 언어 PL/I (Programming Language One) Algol 68 Simula 67 Basic (Beginners All-purpose Symbolic Instruction Code)

2.3 1960년대 : 프로그래밍 언어의 폭증 PL/I Fortran, Cobol, Algol 60의 장점 모두 수용 새로운 개념 추가 (병행성, 기억 장소 할당, 예외처리) IBM의 막강한 지원 언어의 문제점 (방대) 번역기가 크고 작성이 어려움 실행 효율 저하 배우기 어려움, 오류 발생 유도 언어 특성들의 상호 작용으로 인한 신뢰성 저하

2.3 1960년대 : 프로그래밍 언어의 폭증 Algol 68 Algol60 + 타 언어의 여러 기능 + 표현력 있고 일관된 구조 새로운 특성 독자 개발 이론적으로 일관성 갖는 구조 일반적인 형 시스템, 직교성 강조 (수식 위주) 언어 기술 새로운 용어 과다 사용 디자인 일관성, 파일 시스템, 실행 환경 우수 범용 컴퓨터 사용 불가능 (비판 소수 구현)

2.3 1960년대 : 프로그래밍 언어의 폭증 특기 할 기타 언어 Snobol (StriNg Oriented symBOlic Language) 최초의 문자열 처리 언어, 패턴 매칭 기능 다양 Simula 67 객체 지향 언어(클래스 개념 최초 도입) Simula I + Algol 60 시뮬레이션 목적 Basic (Beginners All-purpose Symbolic Instruction Code) 시분할용의 간결한 언어 마이크로 컴퓨터 이식 (교육용, 사무처리용, 가정용) 언어군 (ANSI 표준 : 1978 ‘minimal Basic’, 1988 ‘Standard Basic’) 후에 나온 Basic : 제어 구조, 변수 선언, 프로시저 추가

1970년대 : 간결성, 추상화, 연구 사항 1970년대 초반 언어의 특징 1970년대 초반에 등장한 언어 60년대의 혼돈 후 간결성과 일관성 추구 Niklaus Wirth : Algol 68 디자인에 반발 (방대성) Wirth + Hoare : Algol W 제안 1970년대 초반에 등장한 언어 Pascal (1971, Wirth) 작고, 간결하고, 효율적이고, 구조적이며, 프로그래밍 교육용 분리 컴파일, 유용한 문자열 조작, 입출력 기능 삭제 또는 축소 (성공적) C 언어 (1972, Dennis Ritchie) Pascal 과는 다른 각도의 간결성 수식 위주로 형 시스템과 실행환경 축소, 하드웨어 접근 용이 중급 언어로 분류 : 기계 접근성 강화 (고급 언어와 상반 개념) 운영체제 프로그래밍용 (Bliss(1971), Forth(1971)) C 언어로 작성된 UNIX 성공 C 언어 대중화 C, Pascal 간결성, 디자인 일관성 (소그룹의 고안) : 성공 요인

1970년대 : 간결성, 추상화, 연구 사항 1970년대 중, 후반 언어 특징 자료 추상화, 병행성, 증명 등의 메커니즘을 집중적으로 시도 1970년대 중, 후반에 등장한 언어 CLU (1974-77, MIT의 Babara Liskov) 추상화 기법을 위한 일관성 있는 접근 방식 자료 추상화, 제어 추상화, 예외처리 자료 추상화 : cluster (Simula의 class와 유사) 제어 구조 : iterator - 일반성 예외처리 : Ada와 비슷한 구조 제안

1970년대 : 간결성, 추상화, 연구 사항 1970년대 중, 후반에 등장한 언어 Euclid (1976-77, 토론토(Toronto) 대학) Pascal을 개선한 언어 Pascal의 단점인 이명(aliasing) 개선, 자료형의 추상화, 프로그램 증명 보조 추가 프로그램의 형식적 검증을 목적으로 한 최초 언어 Mesa (1976-79, Xerox사 Palo Alto 연구소) Pascal 구조에 모듈 구조, 예외처리기, 병행성, 병렬 프로그래밍의 개념 추가 시스템 프로그래밍용 Modula-2 메커니즘 고안에 지대한 영향

2.5 1980년대 : 통합과 새로운 방향 1980년대 언어의 특징 1980년대 등장한 언어 Ada Ada 등장(개념 통합) 함수형 언어에 새로운 관심 부여 - 스킴(Scheme), ML(Meta Language) 개발 논리형 프로그래밍 언어 - Prolog 등장 객체 지향 언어에 대한 활발한 연구 및 개발 1980년대 등장한 언어 Ada 자료 추상화, 타입 메커니즘(package), 병행 처리(task), 예외처리기 도입 디자인이 섬세하고 상세함, 사용 급증 단점 : 복잡 방대 (제 2의 PL/I 가능성)

2.5 1980년대 : 통합과 새로운 방향 1980년대 등장한 언어 Modula-2 1982-88, Modula 언어를 기본, 운영체제 구축용( N. Wirth) Pascal의 디자인에 결점 보완(당시 실험적 언어) 추상화, 부분적 동시처리 개념 내장형 시스템 프로그래밍 목적 : 하드웨어 접근이 용이한 다목적 언어 교육 목적으로 인기 가능한 한 소규모의 간결한 언어로 시도 예외처리기능 등 제외

2.5 1980년대 : 통합과 새로운 방향 1980년대 등장한 함수형 언어 Miranda 스킴(Scheme) 1975-78, MIT의 Gerald J. Sussman과 Guy L. Steele, Jr. 개발 Lisp 언어 개정 Lisp보다 획일적이고, lambda calculus에 가깝게 설계됨 Common Lisp : 표준 ML (meta language) 1978, 에딘버러(Edinburgh) 대학의 Robin Milner 개발 기존 함수형 언어와 상이 함 Pascal과 유사하나 유연성 (문법, 타입 체킹) Miranda 1985-86, 맨체스터 대학의 데이비드 터너(David Turner)가 개발

2.5 1980년대 : 통합과 새로운 방향 1980년대 등장한 언어 Prolog (1972- , A. Colmerauer의 그룹) 논리형 언어 인공지능 분야에서 많이 사용 SETL (뉴욕 대학(NYU)의 J. Schwartz) 집합론을 프로그래밍 언어로 시도한 것 (미적분, 수학의 교육 모델로 사용) 구현 결핍 Smalltalk (1972-80, Xerox사의 Alan Kay, Dan Ingalls) 객체 지향 언어의 모범 C++ (1980, Bjarne Stroustrup) C 언어를 확장한 객체 지향언어 Eiffel (1980년대 중반, Bertrand Meyer) Pascal에 가까우면서 일관성 있는 객체 지향 언어

2.6 1990년대 : World Wide Web 프로그래밍 (Java) 1990년대 언어의 특징 제 4세대 언어 대두 응용문제를 빠르게 구현 실사용자가 직접 프로그래밍 데이터 베이스를 쉽게 처리 HTML, Java 등장 1990년대 등장한 언어 Java언어 James Gosling 설계 팀장 C++ 기반 : 많은 구조 삭제, 일부 구조 변경, 일부 구조 추가 C++의 강력함과 유연성 제공 C++ 보다 규모는 작아지고, 더 간결하고, 신뢰성이 증가 된 언어 한 응용 분야 목표 : 내장 시스템 Java의 응용분야가 확장 됨 Web 프로그래밍 (C/C++결점 보완)

2.6 1990년대 : World Wide Web 프로그래밍 (Java) 자료형, 클래스 제공 기본 자료형 : 스칼라 형 제공 배열 – 미리 정의된 클래스 객체로 제공(C++와 구별) 포인터 삭제 참조형 제공 포인터 – 기억장소 지시, 참조형 – 객체 지시 논리형 제공 ( 산술 연산에 사용 불가 : C/C++와 구별), 부프로그램 제공 안함 클래스 메소드 제공 단일상속 다중 상속 변칙 사용 (인터페이스 사용) 동시성 제공 (synchronize) - Thread 쓰레기 수집 묵시적 형 변화 – 확대형 변환 ( widenning) 중간 언어 제공 (이식성 증가) Java 애플릿 - 클라이언트에서 실행 프로그래머 – Java선호 (C++기피)

2.7 프로그래밍 언어의 세대론과 미래 프로그래밍 언어의 세대구분(견해에 따른 2가지 분류) Fortran, Cobol,Basic 등 : 비구조형 언어 PL/1,Pascal, C 등 : 프로시저 위주의 고급 언어 Prolog, SETL등 : 초고급 언어 제 1 세대 – 어셈블리 언어 제 2 세대 – 비구조형 고급 언어 제 3 세대 – 구조형 고급 언어 제 4 세대 – 화일처리(SQL등) 제 5 세대 – 초 고급 언어 제 1 세대 – 기계어 제 2 세대 – 어셈블리 언어 제 3 세대 – 고급 언어 제 4 세대 – 화일처리(SQL등) 제 5 세대 – 초 고급 언어

2.7 프로그래밍 언어의 세대론과 미래 4세대 언어의 특징 소프트웨어의 위기 (software crisis) 4세대 언어들은 데이터베이스 시스템을 위해 만들어진 명령어로 출발 에디터(editor)나 디버거(debugger), 서류작성기나 제어용 유틸리티와 같은 개발도구들과 함께 디자인 환경에 포함 대표적 예 : SQL(Structured Query Language), Lotus, Delphi 등 거대한 화일 처리 응용 프로그램을 몇 개 안 되는 코드로 신속하게 작성 언어 설계 이론에 공헌한 바는 작지만 실용성 큼 최근의 Visual Basic, Visual C++, Power Builder도 이 부류에 속함

2.7 프로그래밍 언어의 세대론과 미래 명세 언어 - 이런 언어들은 모범안을 빠르게 기술하는 방법만을 제공 사용자가 원하는 바를 서술하면 시스템이 요구 사항을 구현해 주는 언어 1979, Winograd의 명세 언어에 대한 견해 논리형 언어와 제 5세대 언어가 시도하는 바를 기술 - 이런 언어들은 모범안을 빠르게 기술하는 방법만을 제공 “고급 언어는 기계어 코드의 복잡함과 난해함을 탈피할 수있게하며 ,고급언어시스템은 복잡한 시스템이나 구성 요소를 이해하여 다룰 수 있게 한다. 이제는 알고리즘의 세부적인 명세로부터 떠나서 우리가 작성한 패키지나 객체의 성질을 기술하는데 집중시킬 필요가 있다. 즉, 새로운 세대의 프로그래밍 도구가 될 조건은 프로그래밍 시스템이 명령이 아닌 선언인데, 즉 프로그램의 주작업이 알고리즘을 수행하는 명령문들의 나열보다는 계산과정과 계산이 수행되는 객체 (object)를 묘사하는 작업을 수행하는 방향으로 가게될 것이다.”

2.7 프로그래밍 언어의 세대론과 미래 소프트웨어 위기 (software crisis)의 극복 언어 설계의 미래 언어적 기술보다는 조직적인 방법으로 해결 기존 코드의 재사용 증대 이식성 증대 문법 위주의 에디터를 사용하여 프로그래머의 생산성 높임 언어 설계의 미래 하드웨어와 컴퓨터 구조의 발달에 의해 영향 받음 새로운 언어의 출현보다는 기존 언어들을 갈고 닦아, 언어 설계에 대한 이해를 점진적으로 증가시키는 방향으로 예상됨