프로그래밍 언어의 종류와 목적

Download Report

Transcript 프로그래밍 언어의 종류와 목적

프로그래밍 언어의 종류와 목적
작성/발표 오두환
대표적인 프로그래밍 언어
저급언어
고급언어
웹 프로그래밍
기계어
C C++,C#
ASP
어셈블리
JAVA
PHP
포트란
JSP
베이직
…
델파이
…
연대표
기계어/어셈블리
포트란
알골
리스프
Simula
코볼
파스칼
C
C++
ㅇㅇ 파스칼
ADA
저급 언어

기계어 - CPU가 직접해독하고 실행할 수 있는
비트단위로 쓰인 컴퓨터 언어
비트(Binary digIT ) – 전산학/정보이론의 정보 단위,
하나의 비트는 0 or 1의 값을 가질수 있고 각각은 On/Off,
참/거짓, 배타적인 상태를 나타낸다(8bit = 1byte)

저급 언어




어셈블리 - 기계어와1:1대응이되는프로그래밍 언어
이유 - CPU가 명령을 처리하는 가장 기본단계는
기계어 이나, 사람이 기계어 만으로
명령전달/프로그래밍을 하는데 어려움이 있어서
용도 - 디스플레이에 출력되는 프로그래밍이 아닌,
H/W 와 관련이 있는 임베디드분야 에서 현재도 사용
특징 - 이 후에 나온 고급언어들에 비해 어려움이 많음
- H/W, S/W 간의 최적화
간략한 프로그래밍 개념도
객체지향
서술형프로그래밍
아침 7시에
식당에가서
주문을하고
계산을하고
객체지향 프로그래밍
식사담당
이동담당
XX역 하차
……
여가담당
젓가락 들고
밥을 먹어라
버스를타서
휴식담당
교육담당
연대표

-
-
폰 노이만 구조
기존의 하드웨어의 재배치 없이 소프트웨어의 교체로 작
업변경 (EDSAC)
1950년도에 접어들기까지 큰 영향을 끼침
연대표

1940년대
- 어셈블리 언어 발생
- 콘라드 주세가 Plankakul 언어발표
현대프로그래밍언어개념제시 1943년

1950년대 (최초의 현대식 프로그래밍언어)
▶포트란(FORmular수식TRANslator변환)1954년
- 계산용으로 주로 사용(기후,기상예측,자원탐사,우주항공)
- IBM 의 존배커스 등7명의 전문가가 완성
- 이후 FORTRAN2,D등의 많은 버전으로 개발
- 1966년 ANSI(미국표준협회)에서 FORTRAN66으로 표준화
연대표

1950년대~
▶코볼(Common Business-Oriented Language)그레이스호퍼개발
- 사무처리언어의 통일을 위해 개발된 일반사무처리언어(59년)
- 영어 단어를 많이 사용한다
▶리스프(58년)(LISt Processing) MIT 의 존 매카시 개발
- 인공지능연구 프로젝트에서 FORTRAN목록작업수행언어구현
-> 리스프의 모태가 된다
▶알골(60년)(ALGOrithemicLanguage)국제정보처리학회연합개발
- 파스칼, C언어 등 수많은 언어에 영향을 끼쳐 알골계 언어
- 알고리즘을 프로그래밍에 도입
- 알고리즘 : 문제를 해결하기 위한 절차나 방법
예) 미로찾기 -> 왼쪽벽을 따라서 죽 이동하면서 해결한다
연대표

1960년대~
▶베이직(Beginner'sAll-purposeSymbolicInstructionCode)
- 다트머스대학의존케메니,토머스커츠가교육용으로개발(63년)
- 쉽게 배울수 있다
- MS의 빌게이츠가 Altair 용 베이직을 개발하면서 유명해짐
(납품하러 가는 중에 비행기에서 매뉴얼을 만듬)
- 많은 버전의 베이직이 존재하며 한글베이직도 있다(삼선soft)
▶그 외 Simula, PL/I(ibm 개발) 등이 개발되었던 시기
연대표

1970년대~
▶파스칼(70년) 니콜라우스비르트개발
- 포인터를사용한구조적프로그래밍
- Apple Lisa os에 사용되기도 함 (object pascal)
- 당시에 가장 인기가 있던 교육용 프로그래밍 언어 중 하나였다
- pascal 의 한 종류이던 object pascal 은 볼랜드/코드기어사의
(앤더슨 해즐버그가 개발) 프로그래밍 언어, 델파이가 되었음
- 델파이 윈도os 아래에서 모든 부분을 프로그래밍 가능
▶SQL(78년)(Structured구조물,체계Query문의Language)
- Database 를 관리하기 위한 언어
1970년 C언어
▶ C - 미국 BELL연구소 의 Ritchie,Dennis(데니스리치)가
UNIX 개발을 위해 만듬 (1971 년)
- C 이전에는 ‘B’ELL 연구소에서 만든 ‘B’ 언어가 있었음
- 뛰어난 이식성
- 다양한 응용프로그램 작성가능
- 함수를 이용한 간결한 프로그래밍 가능
- 포인터(pointer)를이용한 메모리최적화설계
- 운영체제, 언어처리계, 편집기, 디버깅, Winodws 시리즈,
인터넷 익스플로러, 게임등 많은 곳에서 쓰이고 있으며
현재에 이르러서도JAVA 와 더불어 점유율 1,2위를다투고있음
1970년 C언어
▶ C++ - 기존의 C언어 이후 객체지향프로그래밍의 개념이
생기면서 그것이 추가된 형태(발전형)(83년도 개발)
포인터: 프로그래밍 언어에서 다른 변수, 변수의 메모리
공간주소를 가르키는 변수. 즉,메모리의주소지정이라할수있다

ex) 4byte 의 메모리를 a라는 번지로 지정하면,
그 메모리에 접근할 때 마다 4byte 의 데이터를 가져올 수 있다.
1byte 가 필요한데 4byte 를 가져오는건 낭비.
즉, 포인터를 이용하면 s/w 의 최적화를 할 수 있다

객체지향 ?
연대표

1980년대~
▶펄Perl(87년) 래리월이개발
- 실용성을모토->C나많은프로그래밍언어에서뛰어난기능을도입
- 인터프리터(nterpreter:해석기) 방식의 언어
: 컴파일러 -> 명령어들을 기계어로 번역
인터프리터 -> 명렁어들을 한줄씩 중간형태로 번역-> 실행
▶ 그 외, ADA(미국 국방성의 지원) 등의
다양한 프로그래밍 언어 개발된 시기
1990년~
▶ Java - 썬마이크로시스템즈의 제임스고슬링
(James Gosling)과 연구팀이 개발(95년) ->현재오라클이인수
- C, C++에 비해 쉬운 프로그래밍
- 뛰어난 호환성(JVM 이 설치된 모든 OS 에서 구동 가능)
- 스마트폰(안드로이드 O/S), 어플리케이션,금융,
사무자동 화,홈쇼핑,게임 등
오늘날 우리가 사용하는 많은 것들이 JAVA로 개발
연대표

1990년대 ~ 현재
▶Python (91년) 귀도 반 로섬이 개발
▶웹프로그래밍 언어
- PHP(95)년 라스무스 러드프이 가 1995년에 개발
- ASP 마이크로소프트에서 개발
- JSP JAVA 를 이용한 웹프로그래밍
▶ 그외의 수많은 프로그래밍 언어들이
서로 영향을 주고 받으며 개발되고, 사용되고 있다