Skip to content

High Level Programming Language

다음은 여러 programming language를 소개.

  • 이들은 기계 독립적이며 자연어에 가까운 단어와 문장으로 구성.
  • 컴파일러나 인터프리터가 필요하여 기계어에 비해 효율성은 떨어지나, 상대적으로 적은 H/W 지식으로도 프로그래밍 가능.

애용되는 High Level Programming Language 순위는 다음을 참고.


BASIC

Beginner’s All-purpose Symbolic Instruction Code

  • 1965년 초보자를 위해 미국의 다트머스 대학에서 개발
  • 1960년대 말 이후, 컴퓨터를 이용한 소규모 업무처리 등에 쓰임
  • BASIC의 단점을 보완한 Quick Basic, 마이크로 소프트의 Visual Basic으로 발전(EXCEL 등에서 사용됨).

특징

  • 초보자도 쉽게 배우고, 다양한 작업을 할 수 있음
  • Cobol과 같은 대화체를 사용하지만 코볼에 비해 적을 프로그램의 양으로 많은 사무용 프로그램을 대체
  • 대부분의 OS를 지원

C

  • 1972년 데니스 리치가 설계, PDP-11에서 구현
  • 기존의 언어에 비해서 신뢰성, 규칙성, 간소함 등의 장점을 내포
  • 저급언어의 기능 구현 가능
  • 융통성과 이식성이 좋아 고급프로그래밍 언어의 개발 속도 향상에 기여

특징

  • 매우 유연한 구조
  • 대부분의 운영체제에서 기본으로 지원
  • 고급언어와 저급언어 양쪽의 장점을 모두 포함
  • 모든 실행 단위가 함수로 구성 됨

C++

  • 객체지향 프로그래밍을 지원하기 위해 탄생
  • 대다수의 응용 프로그램을 만들 때 가장 많이 사용
  • 강력함과 편리함의 양쪽 장점을 골고루 내포하여 효율성을 제공

특징

  • C의 유연성에 객체지향의 편리성을 접목
  • 기존의 C언어로 개발된 모든 프로그램을 수정 없이 사용 가능
  • C언어에 익숙해지면 C++도 빠른 적응 가능
  • 대부분의 운영체제에서 C++을 지원

Java

  • 1994년 선(SUN)사의 가전제품을 제어하기 위한 언어 개발을 시작한 것이 그 시초 (설계팀장 : James Gosling )
    • 하지만, Web 프로그래밍 등으로까지 사용분야 확대됨.
  • 가전제품을 목적으로 만들어져 낮은 시스템에서도 운영이 가능하도록 설계
  • 운영 체제나 중앙처리 장치에 관계없이 모든 플랫폼에서 사용 가능
  • 자바와 플랫폼 사이에 자바가상머신(JVM)이 인터페이스 역할을 수행

특징

  • 객체지향 언어
  • C와 C++과 비슷한 모양(문법)을 가져 사용이 쉬움
  • 객체지향의 다형성을 위해 실행 시간에 함수 호출을 결정
  • 동적이고 편리한 메모리 관리를 지원하며 자동으로 쓰레기 수거(garbage collection)를 실행

LISP

LISt Processor

  • 1960년 MIT의 존 매카시에 의해 제작
    • 1960년에 쓴 논문기준
    • 1958년에 초안이 작성됨.
  • 자연어 처리와 인공지능 분야에 강함
    • 하지만 2024년 현재에는 ANN기반의 모델이 자연어 처리에 보다 강점을 보임에 따라,
    • PyTorch 나 TensorFlow등의 DL기반의 Python이 해당 분야에서 활용도가 더 높음.
  • 리스트 구조를 기본으로 하는 함수형 언어 (함수의 결합으로 기능을 수행)
    • 폰 노이만 구조에 적합한 명령형 언어와는 다른 함수형 언어이다 보니 기존의 컴퓨터에서 효율적 동작에 어려움이 컸음.
    • 주소 개념이 없는 새로운 기계에 적절.

특징

  • 대화식 구성의 인터프리터 방식으로 사용자의 요구에 그 즉시 반응
  • 임의의 자료형을 만들고, 결과 값으로 사용가능
  • 프로그램과 자료가 동일한 형태로 처리
  • 동적 메모리 관리 지원
  • 재귀호출의 원조

Python

다음 URL참고: Python 소개