제 11장 프로그래밍 언어.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 11 장 프로그래밍 언어. 2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어.
천안천일고등학교 Copyright © by Ryu Bin All rights reserved 프로그래밍 실무.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
뇌를 자극하는 Windows Server 2012 R2
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Windows Server 장. Windows Server 2008 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
1장 C#의 배경.
JSP Programming with a Workbook
제 11장 프로그래밍 언어.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
FTP 프로그램 채계화 박재은 박수민.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
Program Language 환경공학과 천대길.
Wireless Java Programming
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
JA A V W. 03.
프로그래밍 개요
2장. JSP 프로그래밍을 위한 환경구성 제2장.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
UNIX Unbounded A Beginning Approach
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
AT MEGA 128 기초와 응용 I 기본적인 구조.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
다자간 채팅프로그램 김형도 허영민
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
7 생성자 함수.
1장. C Language Synopsis.
6 객체.
Presentation transcript:

제 11장 프로그래밍 언어

목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 웹 기반 언어 7. 닷넷 기반 언어 제 11장 프로그래밍 언어

프로그래밍 언어를 공부해야 하 11.1 프로그래밍 언어 프로그래밍 언어(Programming Language : PL) 주어진 어떤 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 인공적인 언어를 말함 프로그래밍 언어를 공부해야 하 는 이유 효율적인 알고리즘을 개발할 수 있는 능력의 향상 현재 사용하는 프로그래밍 언어의 능력을 향상 주어진 과제를 해결하는 최적의 언어를 선택 새로운 언어를 쉽게 배울 수 있음 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 프로그래밍 언어의 특성 간결성(simplicity) : 사람이 프로그램을 쉽게 이해하고, 읽을 수 있도록 간결하게 표현할 수 있는 특성 직교성(orthogonality) : 언어의 각 구성 요소가 상호 독립적이면서도 어떤 환경에서도 그 구성 요소가 같은 의미로 사용된다는 의미를 내포 가독성(readability) : 사람이 이해 하기 쉽도록 작성된 프로그램이나 프로그래밍 언어의 문법, 주석 등이 가독성의 향상에 도움이 됨 정확성(preciseness) : 잘 정의된 문법은 정확성을 보장한다. 각 언어의 문법은 대부분이 세계 표준으로 확정 기계 독립성(machine independence) : 서로 다른 컴퓨터 상에서 항상 같은 결과를 요구 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 저급 언어와 고급 언어 프로그래밍 언어의 분류 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 1. 저급 언어 기계어와 어셈블리 언어를 의미 하드웨어에 관련된 직접제어 가능 프로그램 작성시 상당한 지식과 노력이 필요 제 11장 프로그래밍 언어

하드웨어에 관련된 지식 없이도 프로그램 작성 가능 사용자의 명령을 컴파일러가 해석, 기계어보다 낮은 효율성 11.1 프로그래밍 언어 2. 고급 언어 하드웨어에 관련된 지식 없이도 프로그램 작성 가능 사용자의 명령을 컴파일러가 해석, 기계어보다 낮은 효율성 일상 적인 언어, 기호 등을 그대로 이용 기억장소를 임의의 기호(symbol)에 저장하여 사용 하나의 명령으로 다수의 동작 가능 예 : A = B + C * D 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 제 11장 프로그래밍 언어

컴파일러 언어와 인터프리터 언어 11.1 프로그래밍 언어 고급언어를 기계어로 번역해주는 도구, 또는 논리적 장치 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 고급 언어 프로그램의 전체 실행 순서 제 11장 프로그래밍 언어

FORTRAN FORTRAN의 특징 11.2 주요 프로그래밍 언어 엔지니어, 수학, 과학 등을 위한 수식 계산에 강한 2세대 언어 1966년 ANSI(American National Standard Institute)에 의해 FORTAN IV로 표준화 1977년 FORTRAN 77로 버전 업 FORTRAN의 특징 최초의 고급 언어 중 하나, 다른 언어의 설계에 많은 모델이 됨 매우 단순하고 간결하며, 수치와 계산에 강함 실행 시 자료의 크기가 고정, 동적 배열이나 재귀 호출 등은 지원하지 않음 같은 장소에 서로 다른 변수가 가능. 이명효과(aliasing)나 부작용(side effects)등의 가능성 내포 제 11장 프로그래밍 언어

11.2 주요 프로그래밍 언어 너무 라인 수가 많아서 그림을 오른쪽에 배열 제 11장 프로그래밍 언어

COBOL(Common Business Oriented Language) 11.2 주요 프로그래밍 언어 COBOL(Common Business Oriented Language) 주된 목적은 사무 처리에 적합하도록 설계됨 1960년 COBOL- 60의 최초 버전 발표 1968년 ANSI 표준 승인 1974년 최종 버전인 ANSI COBOL 발표 COBOL의 특징 컴퓨터와 독립적으로 설계 사무처리를 목적으로 설계되어, 파일 처리에서 강점을 보임 일상적인 영어 문장 구조로 쉬운 가독성을 보임 자연어(영어) 문장 구조는 프로그램의 커지는 결과를 초래, 효율성이 떨어짐 제 11장 프로그래밍 언어

COBOL의 근황 11.2 주요 프로그래밍 언어 아직까지도 쓰이고 있는 언어로 Y2K문제로 인한 ‘코볼 붐’을 초래 제 11장 프로그래밍 언어

BASIC(Beginner’s All-purpose Symbolic Instruction Code) 11.2 주요 프로그래밍 언어 BASIC(Beginner’s All-purpose Symbolic Instruction Code) 1965년 초보자를 위해 미국의 다트머스 대학에서 개발 1960년대 말 이후, 컴퓨터를 이용한 소규모 업무처리 등에 쓰임 BASIC의 단점을 보완한 Quick Basic, 마이크로 소프트의 Visual Basic 이나 EXCEL 등에서 사용 BASIC의 특징 초보자도 쉽게 배우고, 다양한 작업을 할 수 있음 코볼과 같은 대화체를 사용하지만 코볼에 비해 적을 프로그램의 양으로 많은 사무용 프로그램을 대체 마이크로 소프트의 BASIC 지원으로 현재도 계속 발전 대부분의 OS를 지원 제 11장 프로그래밍 언어

11.2 주요 프로그래밍 언어 제 11장 프로그래밍 언어

Pascal Pascal의 특징 11.2 주요 프로그래밍 언어 스위스에 니클라우스 워스 교수에 의해 1971년 탄생 구조적 프로그래밍과 알고리즘 학습에 적합 1990년대 초반까지 대부분의 컴퓨터 관련 교재로 채택 파스칼 컴파일러로 Borland의 ‘터보 파스칼’이 유명 Pascal의 특징 교육용으로 적합, 알고리즘, 프로그램의 연습에 알맞은 문법 구조적인 프로그램의 작성 가능 컴파일러의 효율성이 좋고, 컴파일러를 만들기가 쉬움 객체지향 등의 새로운 개념이나 기술을 채택하여 새로운 언어로 발전 제 11장 프로그래밍 언어

11.2 주요 프로그래밍 언어 Pascal의 근황 C 언어에 비해 엄격한 구조를 요구, 전문적인 프로그래머는 파스칼 보다는 C, C++ 언어로 선호함 제 11장 프로그래밍 언어

Lisp Lisp의 특징 객체와 함수 11.2 주요 프로그래밍 언어 1960년 MIT와 존 매카시에 의해 제작 자연어 처리와 인공지능 분야에 강함 Lisp의 특징 대화식 구성의 인터프리터 방식으로 사용자의 요구에 그 즉시 반응 임의의 자료형을 만들고, 결과 값으로 사용가능 프로그램과 자료가 동일한 형태로 처리 동적 메모리 관리 지원 객체와 함수 Lisp의 객체 => 원자(atom) 또는 리스트 원자 => 문자열(A, MAN, FOOD 등) 리스트 => 원자 또는 리스트의 열로 공백으로 구분 예) ‘A + B’를 ‘(PLUS A B)’로 표현 제 11장 프로그래밍 언어

Prolog (PROgramming in LOGic) 11.2 주요 프로그래밍 언어 Prolog (PROgramming in LOGic) 1972년 코왈스키(R. Kowalski)등에 의해 개발된 논리형 인공지능 언어 비 절차적 논리형 언어 여러 기종의 컴퓨터에서 구형이 가능 일본의 5세대 컴퓨터 프로젝트에 사용된 주요 인공지능 언어 Prolog의 특징 사실(fact), 규칙(rule), 질문(question)들로 프로그램이 구성 사실과 규칙들을 데이터베이스로 구성, 프로그램 실행은 자료에 대한 질문의 응답 형식 인터프리터 언어이며 대화식의 명령 방식을 사용 사용자의 질문에 답하기 위해 추론 엔진(inference engine)을 사용하고 사용자가 사실과 규칙 등을 입력 제 11장 프로그래밍 언어

11.2 주요 프로그래밍 언어 제 11장 프로그래밍 언어

C C언어의 특징 11.2 주요 프로그래밍 언어 1972년 데니스 리치가 설계, PDP-11에서 구현 기존의 언어에 비해서 신뢰성, 규칙성, 간소함 등의 장점을 내포 저급언어의 기능 구현 가능 융통성과 이식성이 좋아 고급프로그래밍 언어의 개발 속도 향상에 기여 C언어의 특징 매우 유연한 구조 대부분의 운영체제에서 기본으로 지원 고급언어와 저급언어 양쪽의 장점을 모두 포함 모든 실행 단위가 함수로 구성 됨 제 11장 프로그래밍 언어

C언어의 근황 11.2 주요 프로그래밍 언어 C언어는 등장 이후 언어의 역사에 큰 영향을 줌 UNIX 등의 운영체제의 기능을 사용하는데 편리한 방법을 제공 C++의 등장으로 계속 발전 제 11장 프로그래밍 언어

C++ C++의 특징 11.2 주요 프로그래밍 언어 객체지향 프로그래밍을 지원하기 위해 탄생 대다수의 응용 프로그램을 만들 때 가장 많이 사용 강력함과 편리함의 양쪽 장점을 골고루 내포하여 효율성을 제공 C++의 특징 C의 유연성에 객체지향의 편리성을 접목 기존의 C언어로 개발된 모든 프로그램을 수정없이 사용 가능 C언어에 익숙해지면 C++도 빠른 적응 가능 대부분의 운영체제에서 C++을 지원 제 11장 프로그래밍 언어

C++언어의 근황 11.2 주요 프로그래밍 언어 Java와 같은 새로운 객체지향 언어의 기틀이 됨 현재 수많은 사용자들을 보유 사용자들을 보유 제 11장 프로그래밍 언어

제 4세대 언어 Power Builder 11.3 제 4세대 언어 (Fourth-Generation Programming Language : 4GL) 제 4세대 컴퓨터가 사용된 시기에 개발된 프로그래밍 언어를 말하며 보통 4GL이라 불림 Power Builder 사이베이스(Sybase)사에서 만든 객체지향 개발 언어 주로 데이터베이스용 응용 프로그램을 작성에 쓰임 Visual Basic, Delphi 등과 같이 연동가능 그림을 그리듯이 디자인, 최소한의 프로그래밍으로 효율성 극대화 제 11장 프로그래밍 언어

Power Builder의 특징 Power Builder의 정리 11.3 제 4세대 언어 클라이언트/서버 응용 프로그램 개발 환경 : 주로 데이터베이스 관련 프로그램으로 서버는 데이터베이스와 관련된 작업, 클라이언트는 사용자 입력/출력 등의 사용자 부분을 처리하는 프로그램을 말함 4GL의 RAD(Rapid Application Development) Tool : 그래픽 유저 인터페이스 환경에서 간단한 마우스 동작 만으로 빠른 개발이 가능함 다양한 운영체제를 지원하는 개발 환경: Windows, UNIX, Mac 등의 다양한 버전을 지원함 Power Builder의 정리 특정 업무용 프로그램을 여러 운영 체제에서 사용가능 편리한 데이터베이스 관련 기능으로 인기가 많음 프로그램 작성 후 배포 시에 여러 가지 불편한 점이 많음 데이터베이스 이외의 프로그램에서는 다른 4GL언어보다 성능이 떨어지고 불편함 제 11장 프로그래밍 언어

Delphi 11.3 제 4세대 언어 Delphi의 특징 볼랜드 사의 Object Pascal을 RAD Tool로 변형해 1995 출시 기본적인 내부 구조는 Object Pascal을 이용함 Windows의 각종 컨트롤이나 도구 등은 VCL(Visual Component Library)이라는 개념으로 지원함 Delphi의 특징 Object Pascal 언어와 컴파일러를 사용함 VCL이라는 편리한 컨트롤 제공함 Windows와 100% 호환이 가능하여 Windows OS하 에서는 강력한 능력을 발휘 컨트롤, 컴포넌트: 단순한 기능을 하는 작은 독립적 프로그램 조각으로 많은 프로그램에서 재사용이 가능. 이런 컨트롤(컴포넌트)의 재사용은 프로그램의 개발시간 단축과 품질 향상에 기여함 Delphi의 근황 Visual C++ 등과 함께 대부분의 상용프로그램에서 많이 사용 Object Pascal의 사용과 한글화의 부족이 문제점으로 지적 제 11장 프로그래밍 언어

Visual Basic Visual Basic의 특징 11.3 제 4세대 언어 마이크로 소프트에서 제작 다른 RAD Tool과 마찬가지로 사용의 용이성과 빠른 개발성 등을 특징으로 함 Visual Basic의 특징 가장 배우기 쉬운 Basic을 사용 개발 시간은 아주 빠른 편이나 큰 프로그램을 작성하거나 객체지향적 프로그램을 하기엔 무리가 있음 개발 시에는 인터프리터를 사용하고 개발이 끝나면 컴파일러를 사용하여 양쪽 모두의 장점을 가짐 다른 마이크로 소프트사의 도구들을 간편하게 사용 가능 제 11장 프로그래밍 언어

Visual Basic의 근황 11.3 제 4세대 언어 배우기 쉽고, 가장 빠른 개발시간으로 많은 사람들이 사용 포인터와 객체지향의 지원 부족으로 다른 언어에 비해 언어의 자유도가 부족 Visual Basic 6 개발 환경 제 11장 프로그래밍 언어

Visual C++ 11.3 제 4세대 언어 Visual C++의 특징 기존의 C++에 여러 가지 Windows의 기능을 추가 강력한 기능으로 여러 프로그래밍 전문가들이 사용 Visual C++의 특징 Microsoft Foundation Class: MFC 란 강력하고 방대한 라이브러리를 제공 Windows의 모든 기능을 가장 강력하고 자연스럽게 사용 Delphi 나 Visual Basic 같은 마우스로 하는 디자인적 요소는 거의 미비한 반면 프로그래밍의 코딩, 디버깅, 프로젝트 관리 면에서 탁월한 기능을 발휘 객체지향형 설계 도구(‘비주얼 모델러’)를 포함해 클래스를 포함한 프로그램 설계 시에 순수하고 강력한 객체지향적 설계와 구현이 가능 제 11장 프로그래밍 언어

Visual C++의 근황 11.3 제 4세대 언어 대부분의 상업적인 프로그램이나 복잡한 작업에 많이 사용 Pascal 이나 Basic 보다 상대적으로 까다로운 C++을 사용 Windows에 대한 깊이 있는 이해를 요구 Visual C++의 개발 환경 제 11장 프로그래밍 언어

객체지향(Object – Oriented) 11.4 객체지향 언어 객체지향(Object – Oriented) 객체 우리가 주변에서 볼 수 있는 물체나 논리적으로 생각 가능한 그 떤 것을 의미. 프로그램의 관점에서는 가장 먼저 생각해야 할 최초 의 것 객체의 구성 객체의 상태: 객체의 현재 상황과 가능한 모든 상태 예) 객체 => 볼펜 상태 => 객체가 할 수 있는 일: 볼펜이 할 수 있는 일 => 쓰기 객체의 상태, 할 수 있는 일 => 멤버 변수, 속성/멤버 함수 메소드 등으로 표현 상표 남은 잉크 잉크의 색 사용 가능한 날짜 총 사용 시간 제 11장 프로그래밍 언어

11.4 객체지향 언어 클래스의 특징 캡슐화(Encapsulation) : 외부에서 알 필요가 없는 정보는 감추어 하나의 캡슐 상태로 유지하여 외부에서는 함부로 접근하거나 변경 등이 불가능 함 다형성(Polymorphism) : 외부에서는 하나의 작업처럼 보이지만 내부에서는 각기 다른 방법으로 구현 되는 것 예)’+’의 경우 숫자 계산 => 두 수를 더하는 작업 문자 계산 => 주어진 문자를 결합하는 작업 검색 => 논리적 AND 의미 상속성(Inheritance) : 하나의 클래스가 정의 되고, 그 이후에 어떤 클래스라도 이 클래스의 정의 중에서 하나 이상의 정의를 물려 받을 수 있는 성질, 따라서 같은 기능을 하는 클래스는 다시 작성할 필요 없이 계속 물려 받아 쓸 수 있고, 결과적으로 빠른 프로그램 개발을 보장 제 11장 프로그래밍 언어

11.4 객체지향 언어 자동차의 상속성 제 11장 프로그래밍 언어

11.4 객체지향 언어 Java 1994년 선(SUN)사의 가전제품을 제어하기 위한 언어 개발을 시작한 것이 그 시초 가전제품을 목적으로 만들어져 낮은 시스템에서도 운영이 가능하도록 설계 운영 체제나 중앙처리 장치에 관계없이 모든 플랫폼에서 사용 가능 자바와 플랫폼 사이에 자바 가상머신이 인터페이스 역할을 수행 Java 언어의 특징 객체지향 언어 C와 C++과 비슷한 모양(문법)을 가져 사용이 쉬움 객체지향의 다형성을 위해 실행 시간에 함수 호출을 결정 동적이고 편리한 메모리 관리를 지원하며 자동으로 쓰레기 수거(garbage collection)를 실행 제 11장 프로그래밍 언어

Java의 근황 11.4 객체지향 언어 초창기에 비해 상당한 안정화를 이룩함 가상기계 (Virtual Machine) 위에서 인터프리터 방식으로 동작하므 로 성능이 떨어짐 제 11장 프로그래밍 언어

UNIX 기반의 언어 Shell 쉘은 UNIX에서 대화형 사용자 인터페이스를 부르는 용 11.5 UNIX/Linux 기반 언어들 UNIX 기반의 언어 ProC C언어의 UNIX 확장판 C언어를 사용한 UNIX의 데이터베이스 관리에 많이 사용 C UNIX의 가장 중심적 언어 UNIX 자체를 C 언어로 제작하여 UNIX 프로그래밍에 필수 Shell 프로그래밍 여러 가지 Shell명령어를 순차적으로 수행 Shell 쉘은 UNIX에서 대화형 사용자 인터페이스를 부르는 용 어로, 사용자가 입력하는 명령어를 이해하고, 실행하는 역할을 수행 제 11장 프로그래밍 언어

Linux 기반의 언어 11.5 UNIX/Linux 기반 언어들 Perl Python PHP 인터넷의 등장과 함께 인기를 누린 스크립트형 언어 초보자도 배우기 쉽고 객체지향적인 특징을 지원 Python 가장 최근에 등장한 강력하고 배우기 쉬운 언어 쉬운 문자열 제어와 객체지향적 특성을 제공 C언어와 연계성을 제공하며, Windows에서도 사용 가능 PHP 인터넷에서 사용하는 대표적인 스크립트 언어 컴퓨터에서 실행하지 않고 웹 서버에서 실행되는 대표적인 Server Side Script 언어 제 11장 프로그래밍 언어

11.5 UNIX/Linux 기반 언어들 Java : Lisp : FORTRAN : C/C++ : Tcl : 자바는 플랫폼에 구애 받지 않음 Lisp : UNIX/Linux의 경우 Emacs라는 에디터의 제어 언어로 사용함 FORTRAN : UNIX/Linux버전에 따라 F77,F90, F95등 다양한 버전을 지원함 C/C++ : UNIX와 마찬가지로 Linux에서도 지원 Tcl : X- Window 프로그래밍에 많이 쓰이는 스크립트 계열의 언어 제 11장 프로그래밍 언어

11.6 웹 기반 언어 웹 기반의 언어 HTML Hypertext Markup Language : 하이퍼텍스트 마크업 언어 SGML에서 비롯된 하이퍼텍스트를 표기하는 언어 일반적으로 인터넷에서 웹 페이지를 표시하기 위해 쓰임 문법은 HTML 태그(tag)로 구성됨 XML Extensible Markup Language : 확장가능 마크업 언어 다른 특수 목적의 마크업 언어를 만드는 용도로 권장되는 다목적 마크업 언어 주로 다른 시스템, 특히 인터넷에 연결된 시스템들끼리 데이터를 쉽게 주고받을 수 있게 함 제 11장 프로그래밍 언어

웹 기반의 언어 11.6 웹 기반 언어 JSP ASP Java Server Pages : 자바 서버 페이지 11.6 웹 기반 언어 웹 기반의 언어 JSP Java Server Pages : 자바 서버 페이지 HTML 내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기가 상당히 편리함 ASP Active Server Page : 액티브 서버 페이지 마이크로소프트사에서 개발한 서버 측의 웹 스크립트 환경 Visual Basic에 바탕을 두고 있어 마이크로소프트 데이터베이스의 접근이 매우 편리함 제 11장 프로그래밍 언어

11.7 닷넷 기반 언어 닷넷 플랫폼과 닷넷 프레임워크 최근 들어 C#과 닷넷(.NET)이라는 새로운 패러다임의 프로그램 환경이 전개되고 있다. 닷넷 플랫폼은 Windows 2000을 포함하는 기존의 윈도우즈 운영체제 서비스와 새로운 API(Application Programming Interface)를 제공하는 개발 프레임워크이다. 마이크로소프트사는 2000년 7월에 C# 언어와 함께 닷넷 플랫폼을 발표하였다. 닷넷 플랫폼은 마이크로소프트사의 수많은 신기술을 포함하여 활용하고 있으며, 마이크로소프트사는 닷넷 플렛폼의 개발과 정착을 위해 거액의 연구비를 집중적으로 투입하고 있다. 제 11장 프로그래밍 언어

11.7 닷넷 기반 언어 닷넷 프레임워크는 웹 기반의 분산 응용 프로그램을 지원하도록 설계되었는데, C#으로 만든 컴포넌트(component)는 다른 프로세스나 네트워크, 인터넷에 있는 다른 시스템에 존재하는 것이 가능하다. 닷넷 프레임워크는 여러 가지 윈도우즈 운영체제에서 작동된다. 닷넷 프레임워크는 다음과 같은 요소들로 구성되어 있다. ① C#, VB.NET, Managed C++, Jscript.NET 등 4개의 공식 프로그래밍 언어 ② CLR(Common Language Runtime) : 모든 개발 언어가 공통으로 사용하는 윈도우 및 웹 개발을 위한 객체지향 플랫폼 ③ FCL(Framework Class Library) : 다양한 관련 클래스 라이브러리들 제 11장 프로그래밍 언어

11.7 닷넷 기반 언어 C# C#은 닷넷 환경의 응용 프로그램을 개발하기 위한 프로그래밍 언어로서 간결성, 안전성, 현대성, 객체지향, 인터넷 중심이라는 목표에 맞춰 설계되었다. C#은 2000년도에 마이크로소프트사의 엔지니어인 앤더스 헤일스버그와 스콧 윌타무스를 중심으로 개발되었는데, C, C++, Java, Visual Basic 등의 언어로부터 많은 영향을 받았다. C#은 C의 빠른 속도, C++의 객체지향 구조, Java의 보안, Visual Basic의 빠른 개발 시간 등 기존 언어의 장점들을 바탕으로 설계되었고, 컴포넌트 기반의 다층 웹 응용 프로그램 개발에 매우 유용한 언어로 여겨지고 있다. 제 11장 프로그래밍 언어

11.7 닷넷 기반 언어 Visual C#.NET의 한 화면 제 11장 프로그래밍 언어

11.7 닷넷 기반 언어 C#의 주요 특징 요약 C#을 이용하면 새로운 클래스와 메소드(method), 프로퍼티(property)를 정의하는 것뿐만 아니라 객체지향 프로그래밍의 근간이라고 할 수 있는 캡슐화, 상속성, 다형성을 구현할 수 있다. C#에서는 XML 스타일의 문서화 방식을 지원하여 응용 프로그램에 대한 참고문서를 쉽게 작성할 수 있게 도와준다 C#은 클래스가 지켜야 하는 속성이나 메소드의 세부사항을  정의하는 규약인 인터페이스(interface)를 지원한다. C#은 구조체를 지원하고 컴포넌트 기반의 기술을 지원한다. C#은 C++ 스타일의 포인터(pointer)를 이용하여 직접 메모리에 접근하는 것을 허용한다. 제 11장 프로그래밍 언어