제 2장 언어의 변천 2.1 디지털 컴퓨터 이전의 언어 년대 : 최초의 프로그래밍 언어

Slides:



Advertisements
Similar presentations
Term Project Hints Topics Keep-alive CGI Multi-thread Multi-process Event-based.
Advertisements

Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 프로그래밍 언어론 2nd edition Tucker and Noonan 1 장 소 개 A good programming language is a.
Copyright © 2015 Pearson Education, Inc. 6 장 : 프로그래밍 언어.
운영 체제의 일반 발표자 : 백승재 황영종. 1. 운영체제의 의의 전자 계산기에서 사용자와 하드웨어와의 직접적으로 대화하는 대신 운영 체제라는 시스템 프로그램을 통하여 하드웨어를 다루는 것이다. 한정된 컴퓨터 자원을 효율적으로 관리, 운영함으로써 사용자에게 편의성을 제공하는.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
제 4 장 변수, 영역, 수명 변수 바인딩 영역 기억장소 할당과 수명 변수와 그 환경 변수 초기화 상수와 변수.
8장 프로그래밍 언어 8.1 프로그램이란? 8.2 프로그램 언어의 역사 8.3 프로그램 설계 절차
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
제 3장 프로그래밍 언어 설계 3.1 설계 기준의 역사적 변천 3.2 효율성 3.3 일반성, 직교성, 획일성
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
알기 쉽게 해설한 Java 8th edition
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
데이터 구조 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
컴퓨터 소프트웨어.
제6장 제어(Control) 6.1 구조적 프로그래밍(Structured Programming)
10장 예외 처리 프로그래밍 언어론 10.6 Pascal과 C의 에러 처리 10.1 설계 주제 10.2 PL/I의 예외 처리
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
Ruby 프로그래밍 1 문자열 입출력 제어구조 looping 함수 정의
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
제7장 제어구조 I – 식과 문장.
Power Java 제4장 자바 프로그래밍 기초.
Kasimov C언어 세미나 1st.
프로그래밍언어론 2nd edition Tucker and Noonan
제 1장 프로그래밍 언어 소개 1.1 프로그래밍 언어란 무엇인가 1.2 프로그래밍 언어를 배워야 하는 이유
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
Ch2-2. VHDL Basic VHDL lexical element VHDL description
장. 문법 구조(Syntax) 컴퓨터공학과 권기태 프로그래밍언어론.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Computer Architecture
Chapter 1 C++ 기초 Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
운영체제 이나현.
제 1장 시스템 소프트웨어의 개요.
JDBC (Java Database Connectivity)
제1장 서론.
제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요
객체 지향 프로그래밍.
Lecture 01: Compiler Overview
Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어
5장 이름, 바인딩, 영역(2) 순천향대학교 컴퓨터공학과 하상호.
제 10장 부 프로그램 10.1 개요 10.2 매개 변수 평가와 전달 기법 10.3 형식 매개 변수 명세
제2장 데이터 및 수식.
Endless Creation - 안 승례 -
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
CGI (Common Gateway Interface)
JSP Programming with a Workbook
Introduction to Programming Language
김 정 석 Web Programming 김 정 석
6장 데이터 타입(2) 순천향대학교 컴퓨터공학부 하 상 호.
CGI (Common Gateway Interface)
[INA470] Java Programming Youn-Hee Han
프로그래밍언어론 2nd edition Tucker and Noonan
myfood.com 상명대 맛집 홈페이지 구축 제안서
McGraw-Hill Technology Education
제 5장 변수, 바인딩, 식 및 제어문 5.1 변수 5.6 표현식 5.2 바인딩 5.7 조건문 5.3 선언 5.8 반복문
제 1 장. 자료구조와 알고리즘.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Chapter 4 변수 및 바인딩.
Chapter 02. 소프트웨어와 자료구조.
Signature, Strong Typing
Signature, Strong Typing
제6장 소프트웨어와 정보시스템 김진수
Signature, Strong Typing
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 효율성
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
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:

제 2장 언어의 변천 2.1 디지털 컴퓨터 이전의 언어 2.2 1950년대 : 최초의 프로그래밍 언어 2.3 1960년대 : 프로그래밍 언어의 폭증 2.4 1970년대 : 간결성, 추상화, 연구사항 2.5 1980년대 : 통합과 새로운 방향 2.6 1990년대 : 웹을 위한 언어 2.7 2000년대 : C#, 마크업 언어 2.8 프로그래밍 언어의 세대론과 미래

2.1 디지털 컴퓨터 이전의 언어 B.C 1500∼3000년대의 찰흙판 60진법 사용 대수학 방정식 Euclid 언어의 변천 2.1 디지털 컴퓨터 이전의 언어 B.C 1500∼3000년대의 찰흙판 60진법 사용 대수학 방정식 Euclid B.C 300년 최대 공약수 알고리즘

Charles Babbage (1792∼1871) Difference Engine 계산 처리용 유한차 원리 기호 논리학 근거 언어의 변천 Charles Babbage (1792∼1871) Difference Engine 계산 처리용 유한차 원리 기호 논리학 근거 현재 컴퓨터와 유사 구조 저장 개념 없음

언어의 변천 Ada Augusta 최초의 컴퓨터 프로그래머 알고리즘에 대한 탁월한 견해 Ada 언어는 그녀의 이름 작명

Copyright © 2007 Addison-Wesley. All rights reserved.

Plankalkül Syntax An assignment statement to assign the expression | A + 1 => A V | 4 5 (subscripts) S | 1.n 1.n (data types) Copyright © 2007 Addison-Wesley. All rights reserved.

2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 초반 기계어 사용 어셈블리 언어 1950년대 중반 언어의 변천 2.2 1950년대 : 최초의 프로그래밍 언어 1950년대 초반 기계어 사용 어셈블리 언어 1950년대 중반 FORTRAN (FORmula TRANslation) 최초의 고급언어 (John Backus) 효율적 기계어 코드 생성 배열, 반복 구조, 분기문, 부프로그램 사용

Example 2.1 FORTRAN C A HYPOTHETICAL PROGRAM IN FORTRAN FUNF(T) = SQRTF(ABSF(T)) + 5.0*T**3 DIMENSION A(11) 1 FORMAT(6F12.4) READ 1,A DO 10 J = 1,11 I = 11-J Y = FUNF(A(I+1)) IF(400.0-Y)4,8,8 4 PRINT 5,I 5 FORMAT(I10, 10H TOO LARGE) GO TO 10 8 PRINT 9,I,Y 9 FORMAT(I10,F12.7) 10 CONTINUE STOP

COBOL (Common Business Oriented Language) 언어의 변천 1950년대 후반 COBOL (Common Business Oriented Language) 상업 자료 처리용 ALGOL 60(ALGOrithmic Language 60) 알고리즘 기술, 범용 LISP(LISt Processor) 기초 연산, 리스트 처리용 APL(A Programming Language) 배열 처리용

COBOL 미국방성팀 고안 (1959∼60) 사용자들의 편의성 고려 특징 Record 구조 자료구조와 실행 부분 분리 언어의 변천 COBOL 미국방성팀 고안 (1959∼60) 사용자들의 편의성 고려 특징 Record 구조 자료구조와 실행 부분 분리 “PICTURE” 사용

Example 2.2 COBOL 비구조화 프로그램 1 IDENTIFICATION DIVISION. 2 PROGRAM-ID. SALARY. 3 INSTALLATION. CRUSADERS. 4 DATE-WRITTEN. 1984. 8. 15. 5 DATE-COMPILED. 84.08.11. 6 SECURITY. YOU HAD BETTER NOT KNOW. 7 ENVIROMENT DIVISION. 8 CONFIGURATION SECTION. 9 SOURCE-COMPUTER. COMPUTER-X. 10 OBJECT-COMPUTER. COMPUTER-X. 11 INPUT-OUTPUT SECTION. 12 FILE-CONTROL 13 SELECT EMPL-FILE ASSIGN TO CARD-READER. 14 SELECT PRINT-FILE ASSIGN TO LINE-PRINTER. 15 DATA DIVISION. 16 FILE SECTION. 17 FD EMPL-FILE 18 LABEL RECORDS ARE OMITTED 19 DATA RECORD IS EMPL-RECORD.

20 01 EMPL-RECORD. 21 02 NAME-IN PIC X(15). 22 02 SEX-CODE PIC 9. 23 88 MALE VALUE 1. 24 88 FEMA VALUE 2. 25 88 ERROR-SEX-CODE VALUE ZERO, 3 THRU 9. 26 02 SALARY-IN PIC 99999V99. 27 02 FILLER PIC X(57). 28 FD PRINT-FILE 29 LABEL RECORDS OMITTED 30 DATA RECORD IS PRINT-LINE. 31 01 PRINT-LINE PIC X(132). 32 WORKING-STORAGE SECTION. 33 01 SEX-COUNTERS. 34 02 NO-OF-MEN PIC 99 VALUE ZERO. 35 02 NO-OF-WOMEN PIC 99 VALUE ZERO. 36 01 SAL-TOTALS. 37 02 MEN-TOTAL-SAL PIC 9(7)V99 VALUE ZERO. 38 02 WOMEN-TOTAL-SAL PIC 9(7)V99 VALUE ZERO. 39 01 END-OF-FILE-TEST 40 88 NO-MORE-RECORDS VALUE ‘YES’. 41 01 HEARDER1. 42 02 FILLER PIC X(41) VALUE SPACES. 43 02 FILLER PIC X(13) VALUE ‘ANNUAL SALARY’. 44 01 HEARDER2.

45 02 FILLER PIC X(16) VALUE SPACES. 46 02 FILLER PIC X(13) VALUE ‘EMPLOYEE NAME’. 47 02 FILLER PIC X(10) VALUE SPACES. 48 02 FILLER PIC X(41) VALUE ‘MEN’. 49 02 FILLER PIC X(41) VALUE SPACES. 50 02 FILLER PIC X(41) VALUE ‘WOMEN’ 51 01 REPORT-LINE. 52 02 FILLER PIC X(15) VALUE SPACES. 53 02 NAME-OUT PIC X(15). 54 02 ERROR-SIGNAL PIC X(5) VALUE SPACES. 55 02 MEN-SAL-OUT PIC ZZZ9999.99 BLANK WHEN ZERO. 56 02 FILLER PIC X(5) VALUE SPACES. 57 02 WOMEN-SAL-OUT PIC X(41) ZZZ9999.99 BLANK WHEN ZERO. 58 PROCEDURE DIVISION. 59 PROGRAM-SUMMARY. 60 OPEN INPUT EMPL-FILE 61 OUTPUT PRINT-FILE. 62 PRINT-HEADINGS. 63 WRITE PRINT-LINE FROM HEARDER1 64 AFTER ADVANCING PAGE. 65 WRITE PRINT-LINE FROM HEARDER2 66 AFTER ADVANCING 2 LINES. 67 MOVE SPACES TO PRINT-LINE 68 WRITE PRINT-LINE 69 AFTER ADVANCING 2 LINES.

70 READ-EMPL-RECORD. 71 READ EMPL-FILE AT END GO TO PRINT-SUMMARY. 72 PROCESS-A-RECORD. 73 IF MALE 74 MOVE SALARY-IN TO MEN-SAL-OUT 75 MOVE ZEROS TO WOMEN-SAL-OUT 76 ADD 1 TO NO-OF-MEN 77 ADD SALARY-IN TWO MEN TOTAL SAL. 78 IF FEMA 79 MOVE SALARY-IN TO WOMEN-SAL-OUT 80 MOVE ZEROS TO MEN-SAL-OUT 81 ADD 1 TO NO-OF-WOMEN 82 ADD SALARY-IN TO WOMEN-TOTAL-SAL. 83 IF ERROR-SEX-CODE 84 MOVE ALL ‘*’ TO ERROR-SIGNAL. 85 MOVE NAME-IN TO NAME-OUT 86 WRITE PRINT-LINE FROM REPORT-LINE 87 AFTER ADVANCING 1 LINE. 88 MOVE SPACES TO REPORT-LINE. 89 GO TO READ-EMPL-RECORD. 90 PRINT-SUMMARY. 91 MOVE ‘TOTAL’ TO NAME-OUT 92 MOVE MEN-TOTAL-SAL TO MEN-SAL-OUT 93 MOVE WOMEN-TOTAL-SAL TO WOMEN-SAL-OUT 94 WRITE PRINT-LINE FROM REPORT-LINE 95 AFTER ADVANCING 3 LINES.

96 DIVIDE NO-OF-MEN INTO MEN-TOTAL-SAL 97 GIVING MEN-SAL-OUT 98 DIVIDE NO-OF-WOMEN INTO WOMEN-TOTAL-SAL GIVING WOMEN-SAL-OUT. 99 MOVE ‘A V E R A G E’ TO NAME-OUT 100 WRITE PRINT-LINE FROM REPORT-LINE 101 AFTER ADVANCING 2 LINES. 102 CLOSE EMPL-FILE 103 PRINT-FILE. 104 STOP RUN.

COBOL 구조화 프로그램 1 ~ 61 COBOL 비구조화 프로그램과 동일함 62 PERFOEM PRINT-HEADINGS. 63 PERFOEM READ-EMPL-RECORD. 64 PERFORM PROCESS-A-RECORD 65 UNTIL NO-MORE-RECORDS. 66 PERFORM PRINT-SUMMARY. 67 CLOSE EMPL-FILE 68 PRINT-FILE. 69 STOP RUN. 70 PRINT-HEADINGS. 71 WRITE PRINT-LINE FROM HEARDER1 72 AFTER ADVANCING PAGE. 73 WRITE PRINT-LINE FROM HEARDER2 74 AFTER ADVANCING 2 LINES. 75 MOVE SPACES TO PRINT-LINE 76 WRITE PRINT-LINE 77 AFTER ADVANCING 2 LINES. 78 READ-EMPL-RECORD. 79 READ EMPL-FILE 80 AT END MOVE ‘YES’ TO END-OF-FILE-TEST. 81 PROCESS-A-RECORD. 82 IF MALE 83 PERFORM PROCESS-MEN.

84 IF FEMA 85 PERFORM PROCESS-WOMEN. 86 IF ERROR-SEX-CODE 87 PERFORM PROCESS-ERROR-CODE. 88 MOVE NAME-IN TO NAME-OUT 89 WRITE PRINT-LINE FROM REPORT-LINE 90 AFTER ADVANCING 1 LINE. 91 MOVE SPACES TO REPORT-LINE. 92 PERFORM READ-EMPL-RECORD. 93 PROCESS-MEN. 94 MOVE SALARY-IN TO MEN-SAL-OUT. 95 MOVE ZEROS TO WOMEN-SAL-OUT. 96 ADD 1 TO NO-OF-MEN. 97 ADD SALARY-IN TO MEN-TOTAL-SAL. 98 PROCESS-WOMEN. 99 MOVE SALARY-IN TO WOMEN-SAL-OUT. 100 MOVE ZEROS TO MEN-SAL-OUT. 101 ADD 1 TO NO-OF-WOMEN. 102 ADD SALARY-IN TO WOMEN-TOTAL-SAL. 103 PROCESS-ERROR-CODE. 104 MOVE ALL ‘*’ TO ERROR-SIGNAL. 105 PRINT-SUMMARY. 106 MOVE ‘TOTAL’ TO NAME-OUT 107 MOVE MEN-TOTAL-SAL TO MEN-SAL-OUT 108 MOVE WOMEN –TOTAL-SAL TO MEN-SAL-OUT 109 WRITE PRINT-LINE FROM REPORT-LINE

110 AFTER ADVANCING 3 LINES. 111 DIVIDE NO-OF-MEN INTO MEN-TOTAL-SAL 112 GIVING MEN-SAL-OUT 113 DIVIDE NO-OF-WOMEN INTO WOMEN-TOTAL-SAL GIVING WOMEN-SAL-OUT. 114 MOVE ‘ A V E R A G E’ TO NAME-OUT 115 WRITE PRINT-LINE FROM REPORT-LINE 116 AFTER ADVANCING 2 LINES.

ALGOL 60 알고리즘 서술용 (1958∼1960) 특징 Free format 구조적 명령문 begin - end 블록 언어의 변천 ALGOL 60 알고리즘 서술용 (1958∼1960) 특징 Free format 구조적 명령문 begin - end 블록 변수 타입 선언, stack 기반 되부름, BNF 사용

Example 2.3 ALGOL 60 begin integer i, real y; real array a[0:10] 언어의 변천 Example 2.3 ALGOL 60 begin integer i, real y; real array a[0:10] real procedure f(t); real t; value t; f := sqrt(abs(t)) + 5 * t ↑ 3; for i := 0 step 1 until 10 do read(a[i]); for i := 10 step -1 until 0 do begin y := f(a[i]); if y > 400 then write(i, ‘too large’) else write(i, y) end

garbage collection 개념 소개 언어의 변천 LISP MIT (1950년대 후반) List 구조, 함수 기본 인공지능 분야 특징 S-expression 함수 적용 garbage collection 개념 소개 되부름의 원조

Example 2.4 LISP /* 2의 10승 구하기 ( recursion 사용) */ (defun power (x y) (if (> y 0) (* x (power x (- y 1))) 1)) (format t “~D” (power 2 10))

/* 5의 Factorial (5!) ( recursion 사용) */ (defun fact (x) (if (> x 0) (* x (fact (- x 1 ))) 1)) (format t “~D” (fact 5))

APL 하버드 (1950∼1960) 배열의 강력성 언어의 단점 제어구조가 없음 특정 터미널에만 있는 그리스 기호 사용 언어의 변천 APL 하버드 (1950∼1960) 배열의 강력성 언어의 단점 제어구조가 없음 특정 터미널에만 있는 그리스 기호 사용 프로그램을 이해하기 어려움

Example 2.5 APL /* increment 프로그램 */ ▽INCREMENT [1] Z ← 1 [2] Z ← Z+R [4] → 2 [5] ▽ 실행 R ← 2 INCREMENT 3 5 7 .

언어의 변천 2.3 1960년대 : 프로그래밍 언어의 폭증

PL/I (Programming Language One) 언어의 변천 1960년대의 언어 PL/I (Programming Language One) ALGOL 68 Simula 67 BASIC (Beginners All-purpose Symbolic Instruction Code)

PL/I (Programming Language One) 언어의 변천 PL/I (Programming Language One) FORTRAN, COBOL, ALGOL 60의 장점 병행성, 기억장소 할당, 예외처리기능 추가 번역기 크고, 실행 효율 저하 상호작용으로 인한 신뢰성 저하

ALGOL 68 ALGOL 60에 다른 기능 보강 직교성 강조 이론적 실험성 강한 언어 언어의 변천 ALGOL 68 ALGOL 60에 다른 기능 보강 직교성 강조 이론적 실험성 강한 언어 SNOBOL(StriNg Oriented symBOlic Language) 최초의 문자열 처리 패턴 매칭 기능 다양

Example 2.6 SNOBOL /* INPUT file에서 ‘X’를 ‘A’로 ‘Y’는 ‘B’로 바꾸는 프로그램*/ LOOP TEXT = INPUT :F(END) ONE TEXT ‘X’ = ‘A’ :S(ONE) TWO TEXT ‘Y’ = ‘B’ :S(TWO) OUTPUT = TEXT END

Simular 67 최초의 객체지향 언어 (Class 개념) 시뮬레이션 목적 BASIC 간단한 언어 언어의 변천 Simular 67 최초의 객체지향 언어 (Class 개념) 시뮬레이션 목적 BASIC 간단한 언어 교육용, 가정용, 사무처리용

2.4 1970년대 : 간결성, 추상화, 연구사항 1970년대 초반 언어 특징 간결성, 일관성 추구 언어의 변천 2.4 1970년대 : 간결성, 추상화, 연구사항 1970년대 초반 언어 특징 간결성, 일관성 추구 PASCAL (1971, Wirth) 작고, 간결, 구조적, 효율적 : 교육용 C (1972, Dennis Ritchie) 수식 위주, type system 기계 접근성, 운영체제용 (UNIX)

언어의 변천 1970년대 중반 언어 특징 자료 추상화, 병행성, 증명 시도 CLU Euclid Mesa

2.5 1980년대 : 통합과 새로운 방향 1980년대 언어 특징 Ada 등장 자료 추상화, package 언어의 변천 2.5 1980년대 : 통합과 새로운 방향 1980년대 언어 특징 Ada 등장 자료 추상화, package 병행처리(task), 예외처리 Modular-2 PASCAL 결점 보안 함수형 언어 : Scheme, ML 논리형 언어 : Prolog 객체지향 언어 : Small talk, C++

Example 2.7 PROLOG /* 규칙과 질문으로 추론 기능 */ likes(joe, fish). likes(mary, book). likes(john, money). 질문: ? - likes(mary, book). : yes likes(john, X) : - likes(X,wine), likes(X, food). : John likes X if X likes wine and likes food.

2.6 1990년대 : 웹을 위한 언어 2.6.1 JAVA C++ 로부터 시작 C++ 보다 단순성, 신뢰성 원칙 객체지향 언어 2.6 1990년대 : 웹을 위한 언어 2.6.1 JAVA C++ 로부터 시작 C++ 보다 단순성, 신뢰성 원칙 객체지향 언어 Pointer , 다중상속 지원 안함 Multithread 제공 Web 은 Java 의 응용분야

2.6.1 JAVA - 더하기 연산 * 소스 public class PlusTest{ public static void main(String[] args) { int a = 10; int b = 20; int c = a + b; System.out.println(“a + b = “ + c); } * 결과 30

2.6.2 JavaScript HTML 문서에 내포된 클라이언트 측 스크립트 언어 동적 HTML 문서 생성 JavaScript는 동적 타입 언어 문자 스트링과 배열은 동적 길이를 가짐 상속 메소드에 대한 메소드 호출의 동적 바인딩 지원 못함

2.6.2 JavaScript - 더하기 연산 <!DOCTYPE html> <html> * 소스 <!DOCTYPE html> <html> <head> <title>script</title> </head> <body> <script> var x = 10; // integer 형식 y = 20; z = x + y; w = “40”; // String 형식 document.write("<h3>x = " + x + "</h3>"); document.write("<h3> y = " + y + "</h3>"); document.write("<h3>x + y = " + z + "입니다.</h3>"); document.write("<h3>w = " + w + "</h3>"); </script> </body> </html>

2.6.2 JavaScript - 더하기 연산 * 소스 <HTML> <HEAD> <TITLE> 자바스크립트 더하기 예제 </TITLE> <script language = “javascript”> <!-- function add(){ with(document.FORMtest){ t3.value=parselInt(t1.value) + parselInt(t2.value)} } --> </script> </HEAD> <BODY> <from name = “FORMtest”> <inpute type=“text” name=“t1” value=“10”> + <input type=“text” name=‘t2” value=“20”> = <input type=“text” name=“t3” value=“”> </form> <a href=“javascript; add()”> t3.value = parseInt(t1.value) + parseInt(t2.value) : JavaScript 더하기 연산</a><br> </BODY> </HTML>

2.6.3 PHP (Personal Home Page) Power Hypertext Preprocessor 사용 서버 측 스크립트 언어 구문형태나 String과 배열의 동적 타입 사용의 관점에서 JavaScript와 유사 HTML 폼 데이터에 대한 간단한 접근 허용

2.6.3 PHP (Personal Home Page) - 더하기 연산 * 소스 <? $a=20; $b=10; $c=$a+$b; echo $c; ?> * 결과 30

2.7 2000년대 : C#, 마크업 언어 2.7.1 C# C++ 와 Java 기반 .NET Framework에서 제공 CTS (Common Type System) 사용 IL (Intermediate Language) IL 실행 전, 기계 코드로 번역 Java의 C++제거요소 다시 포함

2.7.1 C# - 더하기 연산 * 소스 using System; class PlusTest { static void Main() int a, b; a = 10; b = 20; Console.WriteLine(“{0}은 a + b의 값”, a + b); } * 결과 30은 a + b의 값

XML (eXtensible Markup Language)문서를 다른 형태의 마크업 언어로 변환하는 한 가지 방법 2.7.2 XLST (eXtensible Stylesheet Language Transformation) XML (eXtensible Markup Language)문서를 다른 형태의 마크업 언어로 변환하는 한 가지 방법 마크업 / 프로그래밍 혼합형 언어

2.7.3 JSP Java Server Page 동적인 웹 문서를 지원하고, 웹 문서의 다른 처리 요구들을 위해 설계된 기술

2.7.3 JSP - 더하기 연산 * 소스 <%@ page language=“java” contentType=“text/html; charset=EUC-KR” pageEncoding=“EUC-KR”%> <% int a = 10; int b = 20; int c = a + b; %> <!DOCTYPE html PUBLIC “-//W3c//DTD HTML 4.01 Transitional//EN” http://www.w3.org/TR/html4/loose.dtd> <html> <head> <meta http-equiv=Content-Type” content=“text/html; charset=EUC-KR”> <title>PlusTest</title> </head> <body> <div><h2>a + b의 합 : <%=c%></h2></div> </body> </html>

2.8 프로그래밍 언어의 세대론과 미래 프로그래밍 언어의 세대구분 (견해에 따른 2가지 분류) 언어의 변천 2.8 프로그래밍 언어의 세대론과 미래 프로그래밍 언어의 세대구분 (견해에 따른 2가지 분류) 제 1 세대 - 어셈블리 언어 제 2 세대 - 비구조적 고급 언어 제 3 세대 - 구조적 고급 언어 제 5 세대 - 초 고급 언어 제 1 세대 - 기계어 제 2 세대 - 어셈블리 언어 제 3 세대 - 고급 언어 Fortran, Cobol, Algol, PL/I 등 Pascal, C 언어 등 프로시져 위주의 고급 언어 Prolog, SETL과 같은 초고급 언어

4세대 언어의 특징 Software crisis 해결책 Database System 위주 SQL, Lotus, Delphi 언어의 변천 4세대 언어의 특징 Software crisis 해결책 Database System 위주 SQL, Lotus, Delphi

기타. Ruby * 소스(http://www.ruby-lang.org/ko/ 참고)

기타. Perl - 더하기 연산 #!/usr/bin/perl use strict; use warnings; * 소스 #!/usr/bin/perl use strict; use warnings; use Math::Complex; my $a = 10; my $b = 20; print $a + $b, “\n”; * 결과 30