프로그래밍 언어: Difference between revisions
From IT Wiki
(새 문서: Programming Language 프로그램을 작성하기 위한 언어로 사람이 컴퓨터에 명령을 지시하기 위한 수단 == 분류 == {| class="wikitable" |+ !구분 !유형 !...) |
No edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
프로그램을 작성하기 위한 언어로 사람이 컴퓨터에 명령을 지시하기 위한 수단 | 프로그램을 작성하기 위한 언어로 사람이 컴퓨터에 명령을 지시하기 위한 수단 | ||
== 분류 == | ==분류== | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 14: | Line 14: | ||
|기계어 | |기계어 | ||
| | | | ||
* 0과 1로 구성된 언어 | *0과 1로 구성된 언어 | ||
* 인간은 해독 불가하나 컴퓨터가 이해하는 방식 | *인간은 해독 불가하나 컴퓨터가 이해하는 방식 | ||
|- | |- | ||
|어셈블리 언어 | |어셈블리 언어 | ||
| | | | ||
* 기계어의 단점을 보완 | *기계어의 단점을 보완 | ||
* ADD, SUBT 등 명령 기호 사용 | *ADD, SUBT 등 명령 기호 사용 | ||
|- | |- | ||
| colspan="2" |고급 언어 | | colspan="2" |고급 언어 | ||
(High-level Language) | (High-level Language) | ||
| | | | ||
* 사람 중심의 언어 | *사람 중심의 언어 | ||
* 실행을 위해선 번역하는 과정이 필요 | *실행을 위해선 번역하는 과정이 필요 | ||
* 상이한 기계에서 동일한 소스코드 사용 가능 | *상이한 기계에서 동일한 소스코드 사용 가능 | ||
|} | |} | ||
* 저급 언어와 고급 언어의 특징 비교 | *저급 언어와 고급 언어의 특징 비교 | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 50: | Line 50: | ||
|} | |} | ||
== 종류 == | ==종류== | ||
* '''기계어(Machine Language)''' : 컴퓨터가 직접 이해할 수 있는 언어, 0과 1의 2진수 형태로 표현되며 수행시간이 빠름. 전문적인 지식이 없으면 프로그램 작성 및 이해가 어렵다, 기종마다 기계어가 다르므로 언어의 호환성이 없음. 프로그램 유지보수가 어렵다. | *'''기계어(Machine Language)''' : 컴퓨터가 직접 이해할 수 있는 언어, 0과 1의 2진수 형태로 표현되며 수행시간이 빠름. 전문적인 지식이 없으면 프로그램 작성 및 이해가 어렵다, 기종마다 기계어가 다르므로 언어의 호환성이 없음. 프로그램 유지보수가 어렵다. | ||
* '''어셈블리어(Assembly Language)''' : 기계어와 1:1로 대응되는 기호로 이루어진 언어, 기호 코드(Mnemonic Code)라고도 함. 기계어와 가장 유사하며, 기계어로 번역하기 위해서는 어셈블러(Assembler) 필요 | *'''어셈블리어(Assembly Language)''' : 기계어와 1:1로 대응되는 기호로 이루어진 언어, 기호 코드(Mnemonic Code)라고도 함. 기계어와 가장 유사하며, 기계어로 번역하기 위해서는 어셈블러(Assembler) 필요 | ||
* '''포트란(FORTRAN)''' : 과학 계산용 언어로서, 뛰어난 실행 효율성으로 성공한 언어 | *'''포트란(FORTRAN)''' : 과학 계산용 언어로서, 뛰어난 실행 효율성으로 성공한 언어 | ||
* '''코볼(COBOL)''' : 회사의 사무용 자료처리 언어로 개발되었다. 기계 독립적인 부분과 기계 종속적인 부분을 분리 | *'''코볼(COBOL)''' : 회사의 사무용 자료처리 언어로 개발되었다. 기계 독립적인 부분과 기계 종속적인 부분을 분리 | ||
* '''ALGOL''' : 알로리즘의 연구개발을 위한 목적으로 개발된 언어, 실무보다는 주로 교육용으로 사용 | *'''ALGOL''' : 알로리즘의 연구개발을 위한 목적으로 개발된 언어, 실무보다는 주로 교육용으로 사용 | ||
* '''LISP''' : 리스트 처리용 언어, 인공지능 분야에서 주로 사용 | *'''LISP''' : 리스트 처리용 언어, 인공지능 분야에서 주로 사용 | ||
* '''APL''' : 고급 수학용 프로그래밍 언어 | *'''APL''' : 고급 수학용 프로그래밍 언어 | ||
* '''PL/1''' : 과학, 공학 및 산업 응용 프로그램을 위해 개벌된 명령형 프로그래밍 언어 | *'''PL/1''' : 과학, 공학 및 산업 응용 프로그램을 위해 개벌된 명령형 프로그래밍 언어 | ||
* '''BASIC''' : 교육용으로 개발된 프로그래밍 언어 | *'''BASIC''' : 교육용으로 개발된 프로그래밍 언어 | ||
* '''SNOBOL''' : 스트림 자료 활용이 가장 많은 언어, 문자열 대치, 복사, 치환 등과 같은 문자열의 조작을 편리하게 수행할 수 있도록 여러 가지 기능 제공 | *'''SNOBOL''' : 스트림 자료 활용이 가장 많은 언어, 문자열 대치, 복사, 치환 등과 같은 문자열의 조작을 편리하게 수행할 수 있도록 여러 가지 기능 제공 | ||
* '''Pascal''' : 간결하면서도 강력한 언어로 손꼽히고 있다. 교육용 언어로는 뛰어나다는 평가를 받고 있다 | *'''Pascal''' : 간결하면서도 강력한 언어로 손꼽히고 있다. 교육용 언어로는 뛰어나다는 평가를 받고 있다 | ||
* '''PROLOG''' : 논리 기반의 비절차적 언어, 인공지능 분야에서 주로 사용 | *'''PROLOG''' : 논리 기반의 비절차적 언어, 인공지능 분야에서 주로 사용 | ||
* '''Ada''' : 미 국방성의 주도로 개발된 고급 프로그램 작성 언어, 데이터 추출과 정보 은폐에 주안점을 두었고, 입출력 기능이 뛰어나서 대량 자료 처리에 적합 | *'''Ada''' : 미 국방성의 주도로 개발된 고급 프로그램 작성 언어, 데이터 추출과 정보 은폐에 주안점을 두었고, 입출력 기능이 뛰어나서 대량 자료 처리에 적합 | ||
* '''C''' : 1972년 미국 벨연구소의 데니스 리치에 의해 개발된 언어, 고급 언어 프로그래밍과 저급 언어 프로그래밍도 가능하다. 시스템 프로그래밍에 가장 적합 | *'''C''' : 1972년 미국 벨연구소의 데니스 리치에 의해 개발된 언어, 고급 언어 프로그래밍과 저급 언어 프로그래밍도 가능하다. 시스템 프로그래밍에 가장 적합 | ||
* '''Java''' : 썬 마이크로시스템즈에서 개발한 객체 지향 프로그래밍 언어 | *'''Java''' : 썬 마이크로시스템즈에서 개발한 객체 지향 프로그래밍 언어 | ||
==참고 문헌== | |||
*https://opentutorials.org/course/2471/13907 | |||
[[분류:프로그래밍]] | [[분류:프로그래밍]] |
Latest revision as of 09:10, 15 June 2022
Programming Language
프로그램을 작성하기 위한 언어로 사람이 컴퓨터에 명령을 지시하기 위한 수단
분류[edit | edit source]
구분 | 유형 | 설명 |
---|---|---|
저급 언어
(Low-level Language) |
기계어 |
|
어셈블리 언어 |
| |
고급 언어
(High-level Language) |
|
- 저급 언어와 고급 언어의 특징 비교
구분 | 고급 언어 | 저급 언어 |
---|---|---|
호환성 | 좋다. | 나쁘다. |
용이성 | 쉽다. | 어렵다. |
실행속도 | 상대적으로 느리다. | 빠르다. |
종류[edit | edit source]
- 기계어(Machine Language) : 컴퓨터가 직접 이해할 수 있는 언어, 0과 1의 2진수 형태로 표현되며 수행시간이 빠름. 전문적인 지식이 없으면 프로그램 작성 및 이해가 어렵다, 기종마다 기계어가 다르므로 언어의 호환성이 없음. 프로그램 유지보수가 어렵다.
- 어셈블리어(Assembly Language) : 기계어와 1:1로 대응되는 기호로 이루어진 언어, 기호 코드(Mnemonic Code)라고도 함. 기계어와 가장 유사하며, 기계어로 번역하기 위해서는 어셈블러(Assembler) 필요
- 포트란(FORTRAN) : 과학 계산용 언어로서, 뛰어난 실행 효율성으로 성공한 언어
- 코볼(COBOL) : 회사의 사무용 자료처리 언어로 개발되었다. 기계 독립적인 부분과 기계 종속적인 부분을 분리
- ALGOL : 알로리즘의 연구개발을 위한 목적으로 개발된 언어, 실무보다는 주로 교육용으로 사용
- LISP : 리스트 처리용 언어, 인공지능 분야에서 주로 사용
- APL : 고급 수학용 프로그래밍 언어
- PL/1 : 과학, 공학 및 산업 응용 프로그램을 위해 개벌된 명령형 프로그래밍 언어
- BASIC : 교육용으로 개발된 프로그래밍 언어
- SNOBOL : 스트림 자료 활용이 가장 많은 언어, 문자열 대치, 복사, 치환 등과 같은 문자열의 조작을 편리하게 수행할 수 있도록 여러 가지 기능 제공
- Pascal : 간결하면서도 강력한 언어로 손꼽히고 있다. 교육용 언어로는 뛰어나다는 평가를 받고 있다
- PROLOG : 논리 기반의 비절차적 언어, 인공지능 분야에서 주로 사용
- Ada : 미 국방성의 주도로 개발된 고급 프로그램 작성 언어, 데이터 추출과 정보 은폐에 주안점을 두었고, 입출력 기능이 뛰어나서 대량 자료 처리에 적합
- C : 1972년 미국 벨연구소의 데니스 리치에 의해 개발된 언어, 고급 언어 프로그래밍과 저급 언어 프로그래밍도 가능하다. 시스템 프로그래밍에 가장 적합
- Java : 썬 마이크로시스템즈에서 개발한 객체 지향 프로그래밍 언어