제 11 장 프로그래밍 언어
2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어
3/24 사람이 컴퓨터에 지시를 내리기 위한 인공언어 ; 인위적으로 만듬 자연언어 : 사람이 사용하고 있는 언어 ; 자연 발생적 프로그래밍 언어 (Programming Language: PL) 11.1 프로그래밍 언어 제 11 장 프로그래밍 언어
4/24 저급 (Low-level) 언어와 고급 (High level) 언어 고급언어 : 사람이 사용하는 언어 구조와 비교적 비슷하다는 의 미 프로그래밍 언어의 분류 11.1 프로그래밍 언어 제 11 장 프로그래밍 언어
5/24 기계어와 어셈블리 언어를 의미 하드웨어에 대한 지식이 필요 프로그램 작성이 매우 어렵고 시간이 많이 걸림 1. 저급 언어 11.1 프로그래밍 언어 제 11 장 프로그래밍 언어
6/24 하드웨어에 대한 지식 없이도 프로그램 작성이 가능 사람의 일상 언어에서 사용하는 단어나 표현을 그대로 사용 기억 장소의 구체적인 번지 ( 주소 ) 대신에 변수를 사용 하나의 명령으로 다수의 동작을 지시할 수 있다. 예 ) A = B + C * D 2. 고급 언어 11.1 프로그래밍 언어 제 11 장 프로그래밍 언어
7/24 고급 언어 프로그램의 전체 실행 순서 11.1 프로그래밍 언어 제 11 장 프로그래밍 언어
8/24 BASIC (Beginner’s All-purpose Symbolic Instruction Code) BASIC 의 단점을 보완하여 Quick Basic, 마이크로 소프트의 Visual Basic 이나 EXCEL 등에서 사용하 는 VBA 의 언어로 사용 BASIC 의 특징 초보자도 쉽게 배울 수 있다. MS 의 Visual Basic 지원으로 현재도 계속 발전 11.2 주요 프로그래밍 언어 제 11 장 프로그래밍 언어
9/ 주요 프로그래밍 언어 제 11 장 프로그래밍 언어
10/24 C 1972 년 데니스 리치가 설계 저급언어의 기능 구현이 가능 융통성과 이식성이 좋음 C 언어의 특징 대부분의 운영체제에서 기본으로 지원 고급언어와 저급언어 양쪽의 장점을 모두 지님 모든 실행 단위가 함수 11.2 주요 프로그래밍 언어 제 11 장 프로그래밍 언어
11/24 C++ 1983 년 Stroustrup 이 객체지향 프로그래밍을 지원 하기 위해 고안 C++ 의 특징 C 의 유연성에 객체지향의 편리성을 접목 기존의 C 언어로 개발된 모든 프로그램을 수정없이 사용 가능 C 언어에 익숙해지면, 대체적으로 C++ 에 빠르게 적 응 Java 와 같은 새로운 객체지향 언어의 기틀이 됨 11.2 주요 프로그래밍 언어 제 11 장 프로그래밍 언어
12/24 제 4 세대 언어 (4GL) (Fourth-Generation Programming Language) 제 4 세대 컴퓨터가 사용된 시기에 개발된 프로그래 밍 언어를 말하며 보통 4GL 이라 불림 Power Builder, Delphi, Visual Basic, Visual C++ 시각적 인터페이스를 손쉽게 지원 1. Power Builder 사이베이스 (Sybase) 사에서 만든 객체지향 개발 언 어 주로 데이터베이스용 응용 프로그램을 작성에 쓰 임 Visual Basic, Delphi 등과 연동 가능 그림을 그리듯이 디자인, 최소한의 프로그래밍으 로 효율성 극대화 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
13/24 Power Builder 의 특징 클라이언트 / 서버 응용 프로그램 개발 환경에 주로 사용 4GL RAD(Rapid Application Development) Tool : 그래픽 유저 인터페이스 환경에서 간단한 마우스 동 작 만으로 빠른 개발이 가능함 다양한 운영체제를 지원하는 개발 환경 : Windows, UNIX, Mac 등 데이터베이스 이외의 프로그램에서는 다른 4GL 언 어보다 성능이 떨어지고 불편함 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
14/24 2. Delphi 볼랜드 사의 Object Pascal 을 RAD Tool 로 변형해 1995 년에 출시 Windows 와 100% 호환이 가능하여 Windows OS 하에서는 강력한 능력을 발휘 Visual C++ 등과 함께 대부분의 상용 프로그램에 서 많이 사용 Object Pascal 의 사용과 한글화의 부족이 문제점 으로 지적 참고 : 컨트롤, 컴포넌트 : 단순한 기능을 하는 작은 독립적 프 로그램 조각으로 많은 프로그램에서 재사용이 가능 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
15/24 3. Visual Basic 가장 배우기 쉬운 Basic 언어를 사용 개발 시간은 아주 빠른 편이나 큰 프로그램을 작성 하거나 객체지향적 프로그램을 하기엔 무리가 있 음 한글 지원이 우수하여, 변수 이름, 컨트롤 이름 등 에 한글 사용이 가능 다른 MS 도구들을 간편하게 사용 가능 : MS 사의 도구와 기능에 대해 가장 확실히 지원하는 것은 Visual C++ 이나, 가장 간편히 사용할 수 있는 도구 는 Visual Basic 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
16/24 Visual Basic 의 근황 배우기 쉽고 가장 빠른 개발시간으로 많은 사람들 이 사용 포인터와 객체지향의 지원 부족으로 다른 언어에 비해 언어의 자유도가 다소 부족 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
17/24 4. Visual C++ C++ 에 여러 가지 Windows 의 기능 (GUI, API) 을 추 가 Visual C++ 의 특징 MFC(Microsoft Foundation Class): 강력하고 방대 한 라이브러리를 제공 Windows 의 모든 기능을 가장 강력하고 자연스럽 게 사용 객체지향형 설계 도구 (‘ 비주얼 모델러 ’) 를 포함해 프로그램 설계 시에 순수하고 강력한 객체지향적 설계와 구현이 가능 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
18/24 Visual C++ 의 근황 대부분의 상업적인 프로그램이나 복잡한 작업 에 많이 사용 상대적으로 어려운 C++ 을 사용 Windows 에 대한 깊이 있는 이해를 요구 11.3 제 4 세대 언어 제 11 장 프로그래밍 언어
19/24 Java 년 SUN 사가 가전제품을 제어하기 위한 언어 개 발을 시작한 것이 그 시초 - 모든 플랫폼에서 사용 가능 : 자바와 플랫폼 사이에 자바 가상머신이 인터페이스 역할을 수행 Java 언어의 특징 - 객체지향 언어 - C++ 과 비슷한 모양 ( 문법 ) 을 가짐 - 객체지향의 다형성을 위해 실행 시간에 함수 호출을 결정 - 자동으로 쓰레기 수거 (garbage collection) 를 실행 - C, C++ 의 포인터를 사용하지 않음 11.4 객체지향 언어 제 11 장 프로그래밍 언어
20/24 Java 의 근황 가상기계 (Virtual Machine) 상에서 실행 되므로 운영체제에 꼭 맞게 실행되는 다른 언 어에 비해 다소 성능이 떨어짐 11.4 객체지향 언어 제 11 장 프로그래밍 언어
21/24 기타 언어 Perl 초보자도 배우기 쉽고 객체지향적인 특징을 지원 Python 쉬운 문자열 제어와 객체지향적 특성을 제공 C 언어와 연계성을 제공하며, Windows 에서도 사용 가능 PHP 인터넷에서 사용하는 대표적인 스크립트 언어 Tcl X-Window 프로그래밍에 많이 쓰이는 스크립트 계열의 언어 11.5 UNIX/Linux 기반 언어들 제 11 장 프로그래밍 언어
22/24 닷넷 플랫폼과 닷넷 (.NET) 프레임워크 마이크로소프트사는 2000 년 7 월에 C# 언어와 함께 닷넷 플랫폼을 발표 닷넷 플랫폼은 마이크로소프트사의 수많은 신기 술을 포함하여 활용 닷넷 프레임워크는 웹 기반의 분산 응용 프로그 램을 지원하도록 설계 11.6 닷넷 기반 언어 제 11 장 프로그래밍 언어
23/24 닷넷 프레임워크 구성요소 ① C#, VB.NET, Managed C++, Jscript.NET 등 4 개의 공 식 프로그래밍 언어 ② CLR(Common Language Runtime): 위의 개발 언어가 공통으로 사용하는 윈도우 및 웹 개발을 위한 객체지 향 플랫폼 ③ FCL(Framework Class Library): 다양한 관련 클래스 라이브러리들 11.6 닷넷 기반 언어 제 11 장 프로그래밍 언어
24/24 C# C# 은 닷넷 환경의 응용 프로그램을 개발하기 위한 프로그래밍 언어 C# 은 C 의 빠른 속도, C++ 의 객체지향 구조, Java 의 보안, Visual Basic 의 빠른 개발 시간 등 기존 언어의 장점들을 바탕으로 설계 C# 에서는 XML 스타일의 문서화 방식을 지원하 여 응용프로그램에 대한 참고문서를 쉽게 작성 할 수 있게 도와준다 C# 은 C++ 스타일의 포인터 (pointer) 를 이용하 여 직접 메모리에 접근하는 것을 허용 11.6 닷넷 기반 언어 제 11 장 프로그래밍 언어