제 11장 프로그래밍 언어.

Slides:



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

프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 11 장 프로그래밍 언어. 2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어.
영화 예매 시스템 - 많이 봤다이가 ? CSE Corp. PM 송진희 김성욱 김보람 천창영.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
뇌를 자극하는 Windows Server 2012 R2
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
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장 자바 개발 도구.
제 11장 프로그래밍 언어.
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
JSP Programming with a Workbook
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 셋
USN(Ubiquitous Sensor Network)
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 환경 구축
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
암호학 응용 Applied cryptography
네트워크 프로그래밍 (모바일 주문 프로그램 )
Introduction to JSP & Servlet
AT MEGA 128 기초와 응용 I 기본적인 구조.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
발표자 : 이지연 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 프로그래밍 언어 프로그래밍 언어의 집합 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 프로그래밍 언어의 특성 간결성(simplicity) : 사람이 프로그램을 쉽게 이해하고, 읽을 수 있도록 간결하게 표현할 수 있는 특성임 직교성(orthogonality) : 언어의 각 구성 요소가 상호 독립적이고 어떤 환경에서도 그 구성요소가 같은 의미로 사용됨 가독성(readability) : 누구나 쉽게 프로그램을 읽을 수 있는 특성을 말함 정확성(preciseness) : 엄밀하게 정의된 문법에 따라 작성된 프로그램은 정확성을 보장하며 예측 가능한 번역을 보장함 기계 독립성(machine independence) : 서로 다른 컴퓨터 상에서도 운영이 가능해야 하고, 똑같은 결과를 도출해야 함 제 11장 프로그래밍 언어

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

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

11.1 프로그래밍 언어 고급 언어 하드웨어에 관련된 지식 없이도 프로그램 작성 가능함 일상 적인 언어, 기호 등을 그대로 이용함 기억장소를 임의의 기호(symbol)에 저장하여 사용함 하나의 명령으로 다수의 동작을 지시할 수 있음 (예 : A = B + C * D) 제 11장 프로그래밍 언어

11.1 프로그래밍 언어 프로그래밍 언어의 개요 제 11장 프로그래밍 언어

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

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

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

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

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

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

11.2 주요 프로그래밍 언어 BASIC(Beginner’s All-purpose Symbolic Instruction Code) 1965년 케머니와 쿠르츠에 의해 개발된 프로그래밍 언어임 1970년대 중반 컴퓨터를 이용한 소규모 업무처리 등에 쓰임 BASIC의 단점을 보완한 Quick Basic, 마이크로소프트의 Visual Basic이나 EXCEL 등에서 사용됨 BASIC의 특징 초보자도 쉽게 배우고, 다양한 작업을 할 수 있음 코볼처럼 대화체의 프로그래밍 언어이면서도 작업량이 작음 마이크로소프트의 BASIC 지원으로 현재도 계속 발전되고 있음 대부분의 OS에서 지원함 제 11장 프로그래밍 언어

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

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

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

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

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

‘소크라테스의 죽음;을 삼단 논법화한 Plolog의 예제 11.2 주요 프로그래밍 언어 ‘소크라테스의 죽음;을 삼단 논법화한 Plolog의 예제 제 11장 프로그래밍 언어

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

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

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

“Hello World”를 출력하는 C++예제 11.2 주요 프로그래밍 언어 C++언어의 근황 Java와 같은 새로운 객체지향 언어의 기틀이 됨 현재 수많은 프로그래머들이 사용함 “Hello World”를 출력하는 C++예제 제 11장 프로그래밍 언어

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

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

11.3 제 4세대 언어 Power Builder의 정리 특정 업무용 프로그램을 여러 운영 체제에서 사용 가능함 편리한 데이터베이스 관련 기능으로 인기가 많음 프로그램 작성 후 배포 시에 여러 가지 불편한 점이 많음 데이터베이스 이외의 프로그램에서는 다른 4GL언어보다 성능이 떨어지고 불편함 제 11장 프로그래밍 언어

11.3 제 4세대 언어 Delphi 볼랜드사의 Object Pascal을 RAD Tool로 변형하여 1995년 출시됨 Windows의 각종 컨트롤이나 도구 등은 VCL(Visual Component Library)이라는 개념으로 지원함 Delphi의 특징 Object Pascal 언어와 컴파일러를 사용함 VCL이라는 편리한 컨트롤 제공함 C나 C++로 만들 수 있는 모든 프로그램을 만들 수 있음. 즉, Windows와 100% 호환이 가능하여 Windows OS하 에서는 강력한 능력을 발휘함 제 11장 프로그래밍 언어

11.3 제 4세대 언어 Delphi의 근황 Visual C++ 등과 함께 대부분의 상용프로그램에서 많이 사용됨 Object Pascal의 사용과 한글화의 부족이 문제점으로 지적됨 제 11장 프로그래밍 언어

11.3 제 4세대 언어 Visual Basic 마이크로 소프트에서 만든 BASIC을 사용하는 RAD Tool임 한글 지원이 우수함 인터프리터 언어와 컴파일러 언어 양쪽의 장점을 모두 가짐 다른 마이크로소프트사의 도구들을 가장 간편하게 적용할 수 있음 제 11장 프로그래밍 언어

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

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

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

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

11.4 객체지향 언어 클래스의 특징 캡슐화(Encapsulation) : 외부에서 알 필요가 없는 정보는 감추어 하나의 캡슐 상태로 유지하여 외부에서는 함부로 접근하거나 변경 등이 불가능 함 다형성(Polymorphism) : 외부에서는 하나의 작업처럼 보이지만 내부에서는 각기 다른 방법으로 구현 되는 것임 예) ‘+’의 경우 숫자 계산 => 두 수를 더하는 작업 문자 계산 => 주어진 문자를 결합하는 작업 검색 => 논리적 AND 의미 제 11장 프로그래밍 언어

11.4 객체지향 언어 상속성(Inheritance) : 하나의 클래스가 정의 되고, 그 이후에 어떤 클래스라도 이 클래스의 정의 중에서 하나 이상의 정의를 물려 받을 수 있는 성질임. 따라서 같은 기능을 하는 클래스는 다시 작성할 필요 없이 계속 물려 받아 쓸 수 있고, 결과적으로 빠른 프로그램 개발을 보장함 자동차의 상속성 제 11장 프로그래밍 언어

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

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

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

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

11.5 UNIX/Linux 기반 언어들 배열의 합을 구하는 Perl 예제 제 11장 프로그래밍 언어

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

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

11.6 웹 기반 언어 JSP Java Server Pages : 자바 서버 페이지임 11.6 웹 기반 언어 JSP Java Server Pages : 자바 서버 페이지임 HTML 내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어임 서블릿(Java Servlet)과는 달리 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)는 다른 프로세스나 네트워크, 인터넷에 있는 다른 시스템에 존재하는 것이 가능함. 닷넷 프레임워크는 여러 가지 윈도우즈 운영체제에서 작동됨 닷넷 프레임워크 제 11장 프로그래밍 언어

11.7 닷넷 기반 언어 닷넷 프레임워크 구성 요소 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장 프로그래밍 언어