본문 바로가기
IT

프로그래밍 언어별 특징

by EDMBLACKBOX 2021. 1. 18.
728x90

프로그래밍 언어는 시간이 지나면서 지속적인 발전을 거듭해왔습니다. 다음은 주요 프로그래밍 언어별 특징에 대하여 알아봅시다.

COBOL(COmmon Business Oriented Language)은 사무처리용으로 개발된 프로그래밍 언어입니다. COBOL의 장점은 컴퓨터의 내부적인 특성과 별개로 설계되어 COBOL 컴파일러만 있으면 컴퓨터 기종에 관계없이 바로 사용할 수 있다는 점이 있습니다. 또한 타 프로그래밍 언어에 비해 파일의 순차 및 비순차 처리 기능이 강력하여 작성이 쉽고 이해하기 쉽습니다. 반면 컴파일러에 너무 많은 항목을 포함하고 있어서 이것을 수용하려면 주기억장치의 용량이 커질 수밖에 없다는 단점이 있습니다. 그리고 프로그램 작성량이 많고 길어서 전체적으로 간결하지 못합니다.

코볼(COBOL), 출처 : Yvan Scher

COBOL 프로그램은 아래와 같이 크게 4개의 독립적인 디비전(Division)으로 구성됩니다.

디비전 설명 기술 내용
IDENTIFICATION 프로그램의 내용을 파악하는 식별 디비전 프로그램 이름, 작성자, 작성 일자 등
ENVIRONMENT 프로그램의 처리에 관계되는 환경 디비전 컴퓨터 종류, 입출력 파일 및 장치
DATA 데이터 처리를 위한 기억 장소 디비전 기억 장소 형식, 성격과 크기, 내용 등
PROCEDURE 처리할 명령에 관한 구체적 기술 디비전 처리 순서에 따른 명령문 실행을 기술

 

 

PASCAL은 데이터 길이의 제약 없이, 다양한 데이터 형식과 제어 구조를 사용하며 복합문 begin-end, 조건문 if-then-else, 반복문 while-do와 같은 제어 구조가 있어 구조적 프로그래밍에 적합합니다. 객체 지향 개념을 보완해 발전하고 있지만, 타 객체 지향 언어보다는 선호도가 많이 떨어지는 편입니다.

파스칼(PASCAL), 출처 : 위키페디아

 

 

비쥬얼 베이직(Visual Basic)은 마이크로소프트사에서 과거의 BASIC을 업그레이드한 언어입니다. Visual Basic의 장점은 초보자나 학생이 교육용으로 사용하기 적합하며 한글 지원이 우수한 편입니다. 또 마이크로소프트사의 각종 툴을 편하게 이용할 수 있습니다. 단점은 객체 지향 기능이 C#, JAVA 등에 비해 상대적으로 약합니다.

비쥬얼 베이직(Visual Basic), 출처 : energybikes

위의 화면은 마이크로소프트 비쥬얼 스튜디오의 비쥬얼 베이직 6 화면입니다. 왼쪽에 있는 목록은 버튼, 텍스트, 레이블, 체크박스 등의 도구로 되어있으며 이걸 이용해 사용자는 오른쪽 폼에 화면을 설계하고, 화면 설계가 끝나면 폼에 삽입된 도구를 더블클릭하여 코드를 작성합니다. 해당 기능에 대한 기본 코드가 미리 작성되어 있으므로 초보 프로그래머도 쉽게 사용할 수 있습니다.

하지만 비쥬얼 베이직(Visual BASIC)도 베이직(BASIC)처럼 커다란 프로그램을 적용하는 데 제한적 요소가 있습니다. 객체 지향 개념을 일부 도입하였지만 타 객체 지향 프로그램보다 미흡하다는 단점이 있습니다.

 

 

C언어(계열 : C, C++ C#)는 유닉스 운영 체제의 대표 언어로 전 세계적으로 사용이 급증하고 있습니다. 이후 C언어는 C의 유연성을 그대로 유지하면서 객체 지향 요소를 추가한 C++로 확장되었고 C++는 C언어에 객체 지향 프로그래밍을 지원하는 클래스 개념, 상속 기능, 가상 함수 기능, 추상화 기능 등을 보완한 것입니다. 마이크로소프트 사는 C++가 웹 환경에서 동작하기에는 제한적 요소가 많아 자바(JAVA) 보다 열세를 보이자, 이런 단점을 해결하기 위해 C#을 새로 개발했습니다. C#은 C언어보다 JAVA와 유사한 점이 많고 객체 지향 개념의 완성도 측면에서 C++ 보다 더 뛰어납니다. 또한 편리하고 빠른 속도로 많은 사용자를 모으고 있습니다.

C언어 로고(C Language), 출처 : C Language)

아래의 표는 C언어 계열의 장단점입니다.

장점 * 어셈블리어 같은 저급 언어와 유사한 기능을 포함하고 있습니다.
* 구조적 프로그래밍 기능이 있어 프로그램을 읽기도 쉽고, 작성하기도 쉽습니다.
* 프로그램의 융통성과 이식성이 상대적으로 뛰어납니다.
* 기존 C언어로 개발된 프로그램들을 거의 수정 없이 C++ 언어로 확장할 수 있으므로 대부분의 운영 체제에서 사용할 수 있습니다.
* 전 세계의 수많은 C 프로그래머들이 자연스럽게 C++ 프로그래머로 전환이 가능하여 전문 인력 부족 문제를 해결할 수 있습니다.
단점 * C는 객체 지향 개념이 없습니다.
* C++는 너무 방대하고 복잡하여 안정성이 떨어집니다.
* C언어와의 호환성이 강조됨에 따라 새로운 기능을 추가시키는 데 제한이 따릅니다.
* C#은 사용자 저번여 자바(JAVA)에 비해 아직 활성화되기 미흡합니다.

 

 

자바(JAVA)는 C++의 강력함을 제공하면서도 규모는 더 작고 안정성은 강화된 언어입니다. 웹 환경 등에 적합하다는 큰 장점이 있으며 C++의 아이디어를 바탕으로 하여, 월드 와이드 웹(World Wide Web)의 보급 확대와 보조를 맞춰 발전했습니다. JAVA는 C++에 비해 규모는 작지만, C++의 과도하거나 안전하지 못한 기능을 매끄럽게 지원함으로써 신뢰성을 높여왔습니다. 그러므로 지금도 C++보다 더 광범위하게 사용되고 있으며 JAVA를 웹 환경에서 효과적으로 활용하기 위해 웹 클라이언트에서 실행될 수 있는 프로그래밍 언어인 JSP(JAVA Server Page)와 서버에서 이용 가능한 JAVA Servlet 등을 함께 사용할 수 있습니다. 때문에 다른 어떠한 언어보다 많이 범용화 되고 있으며 가장 많은 프로그래머들의 사랑을 받고 있습니다.

자바(JAVA) 로고, 출처 : 자바

728x90