Chapter 1. 프로그래밍과 프로그래밍 언어

SeungHyun Son·2021년 6월 20일
0

본 내용은 KH정보교육원 에서 제공한 교재 내용을 개인적인 공부를 위한 목적으로 작성되었습니다.
만약 아래의 내용을 무료로 배부하거나 상업적으로 이용할 경우 법적 처벌을 받을 수 있음을 경고합니다.

프로그래밍이란?


프로그래밍 관련 용어

  • 프로그램

    • 컴퓨터를 작동시키기 위한 순차적으로 작성된 일련의 명령어들의 모음
  • 프로그래밍

    • 프로그램을 만드는 행위. 프로그램 개발을 의미
  • 프로그래머

    • 프로그램을 만드는 사람. 프로그램 개발자를 의미
  • 프로그래밍 언어

    • 프로그램을 작성하기 위해 사용되는 언어
    • 프로그래밍 언어에 따라 같은 명령에 대해서도 명령을 내릴 때 사용하는 단어나 명령 체계가 언어마다 다름
    • 사람이 이해하고 작성하기 쉬운 사람 중심 언어를 고급 언어, 하드웨어 지향의 기계 중심 언어는 저급 언어
  • 소프트 웨어 (SoftWare : SW)

    • 컴퓨터를 효율적으로 운영하기 위해 개발된 프로그램을 모두 소프트웨어 함
    • 컴퓨터를 관리하는 시스템 소프트 웨어와 문제 해결에 이용되는 다양한.

프로그램 언어별 특성


사용자 측면에서의 분류

프로그래밍 언어를 사용하는 개발자 측면에서 보는 관점에서 분류

특징저급언어 (Low Level Language)고급언어 (High Level Language)
주체기계 중심의 언어사용자 중심의 언어, 컴파일 언어
호환성타 기계와 호환성 낮음호환성 높음
에러 수정어려움비교적 쉬움
프로그래밍 용이성어려움비교적 쉬움
수행 속도기계 자체 언어이므로 번역의 필요성 없어서 빠름실행하기 위해 기계어로 번역해야 하므로 느림
대표 언어기계어, 어셈블리어C, C++, Java, Visual C++, C#

실행 측면에서의 분류

프로그램을 실행하는 주체에 따라 나누는 방법으로 컴퓨터가 직접 실행하느냐 또는 매개체를 이용하느냐 등에 따라 구분

  • 컴파일러 언어(Compiler Language)

    • 완성된 소스 코드 자체로는 실행될 수 없고, 컴파일러(번역기)를 이용해 컴파일한 후에 만들어진 번역된 소스 코드가 실제 실행 프로그램

    • 일반적으로 고수준 언어에 의해 작성된 소스 코드가 실행될 컴퓨터 운영체제에 대한 기계언어로 번역

  • 인터프리터 언어(Interpreter Language)

    • 컴퓨터에 상주해 있는 인터프리터(실행기)가 소스 코드를 한 문장씩 읽어서 바로 실행

    • 이러한 인터프리터를 이용한 개발 언어를 인터프리터 언어라 함

  • 스크립트 언어(Script Language)

    • 초창기에는 배치 언어(Batch Language) 또는 작업 제어 언어(Job Control Language) 라고 불리었음

    • 응용 프로그램과 분리하여 작성하며 프로그램 사용자가 응용 프로그램의 동작을 요구에 맞게 작동될 수 있도록 해 주기 위한 목적으로 제공되는 스크립트 파일 작성용 언어

언어장점단점종류
컴파일러 언어한 번 컴파일하면 컴파일 된 프로그램을 그대로 사용 가능하며 처리 시간이 매우 빠름한 줄의 소스 코드가 많은 기계어로 번역되기 때문에 상대적으로 큰 기억용량(Stack)이 필요함C, C++, Java, C#
인터프리터 언어한 줄씩 해석하여 실행하기 때문에 기억장소가 많이 필요하지 않아 자원 효율적임. 플랫폼에 비의존적이고 자료형과 범위가 동적으로 설정될 수 있어 유연함인터프리터에 의해 해석되면서 실행되기 때문에 처리에 많은 시간이 소요되며 컴파일러 언어에 비해 비효율적임Basic, Lisp, 포스트 스크립트
스크립트 언어특정 실행 환경 상에서 실행되기 때문에 플랫폼 독립적임. 고수준 언어로 프로그램 작성이 직관적으로 이루어 질 수 있음단독으로 실행될 수 없기 때문에 별도의 런타임 환경을 구축해야 하고 경우에 따라 많은 리소스가 필요할 수 있음JavaScript, ActionScript, AutoHotkey, Perl, Python, Ruby, VBS

0개의 댓글

관련 채용 정보