Program   프로그램

(2023-12-07)

Programming, 프로그래밍, Coding , 코딩 , 코딩 자료구조 알고리즘 비교


1. 프로그램 (Program) 이란?

  ㅇ 원래 '미리(pro) 쓴다(gram)'라는 라틴어에서 유래했다고 함
     - 예로써, 연주회 목록 순서, 운동회 순서, 방송 시간표 등 
        . 즉, 할 일을 미리 정해서 적어 놓은 것


2. [전산]  컴퓨터 프로그램 이란?프로세스(실행중인 프로그램)의 생성 및 실행 규칙들로 엮어진 파일
     - 어떤 계산 일을 하기위해, 어떤 프로세스(계산 주체)들을, 
     - 어떤 순서로 밟아야 할지(계산 절차,프로시저)를,
     - 미리 정해 놓은 것

  ㅇ 컴퓨터 기계가 무엇을 하도록, 구체적으로 알려주는 명령문(명령어)들의 집합
     - 결국, 프로그램을 통해, 컴퓨터에게 수행할 일에 대한 지시가 이루어짐
        . 여기서, 컴퓨터 작업 지시서 이란?
           .. 특정 작업을 위한 CPU 명령어(Instruction)들의 리스트
    

3. [전산]  프로그래밍 (Programming) 또는 코딩 (Coding) 이란?

  ㅇ 구체적으로, 프로그래밍 언어로 프로그램을 개발하는 행위
     - 특정 응용에 맞는 자료구조알고리즘을 선택하여,
     - 적절한 프로그래밍 언어를 이용하여,
     - 컴퓨터로 동작이 가능한 프로그램으로 구현하는 것

  ㅇ 한편, 
     - 프로그래밍 방법론적인 차이는, 종종 프로그래밍 언어가 구분되는 방식이기도 함
        . [참고] ☞ 프로그래밍 언어 종류, 프로그래밍 방법론 참조
     - 특히, 프로그램을 크게 3개의 제어구조로 구조화키는 것을 `구조화 프로그래밍` 이라고 함
        . 순차/선택/반복을 조합하여 프로그램을 구조적으로 조립해가는 방식


4. [전산]  프로그램의 구성

  ㅇ 통상, 파일 단위로 작성하게 됨
     - 프로그램 파일은, 문장집합이며,
     - 문장은 여러 표현식들로 구성되어 있게되고,
     - 그 결과에 따라 컴퓨터에 명령을 내리게 됨

  ㅇ [참고]
     - 하나의 프로그램을 구성하는 여러 작은 프로그램들은, ☞ 부 프로그램(Subprogram) 참조
     - 대규모 프로그램은, 독립적으로 개발된 여러 `라이브러리`로 구성됨
        . (라이브러리 : 효율적이고 사용하기 쉬운 프로그램들을 정리하여 모아둔 것)


5. [전산]  프로그램 개발 단계 및 프로그래밍 단계

  ㅇ 프로그램 개발 단계
     - ①  문제 정의 및 분석
     - ②  입출력 설계
     - ③  알고리즘 구하기 또는 개발
     - ④  프로그래밍 (코딩 : 논리적 절차를 프로그래밍 언어로 변환)
     - ⑤  테스트

  ㅇ 프로그래밍 단계
     - 문제 분석을 생각하고, (개념화)
     - 일련의 순서적인 계산/풀이 절차화해서, (알고리즘으로 변환)
     - 프로그램화해서, (특정 프로그래밍 언어로 표현)
     - 언어 번역기를 통해 실행 가능한 프로그램으로 만들고, (컴파일러)
        . (소스 프로그램 -> 어휘 분석 -> 구문 분석 -> 코드 생성 -> 목적 프로그램)
     - 실세계 컴퓨터에서 동작하도록 하는 것 (동작 가능)


6. [전산]  프로그램에 담겨지는 추상화

  ㅇ 프로그램에 담겨진 의도(생각) 즉, 추상화는, 
     - 크게 다음 2가지로 요약됨 
        . 자료구조
        . 알고리즘

  ※ 따라서, 좋은 프로그램 이란?
     - 주어진 문제에 적합한 `자료구조`와 효율적인 `알고리즘`을 선택하고,
     - 적절한 `프로그래밍 언어`로 구현된 것


7. [전산]  코딩, 자료구조, 알고리즘의 비교코딩(프로그래밍) 이란?   (언어 변환)
     - 주어진 문제에 적합한 자료구조/알고리즘 및 전체 로직을 선택/설계하고,
     - 이를 특정 프로그래밍 언어 문법에 맞춰 변환(번역)/구현하는 작업

  ㅇ 자료구조 이란?   (데이터 형식)
     - 적절한 데이터 형태로 표현하여 주어진 문제를 보다쉽게 해결하려는 것

  ㅇ 알고리즘 이란?   (문제 해결 절차)
     - 문제 해결 방법의 논리적 절차

  ※ 알고리즘자료구조를 선택하는 것은, 서로 밀접하게 관련되어 있음

프로그래밍
1. 프로그램, 프로그래밍   2.
프로그래밍 언어론
  3.
프로그래밍 방법론
  4.
객체지향 프로그래밍
  5.
자료표현코드
  6.
자료구조
  7.
알고리즘
  8.
시스템 소프트웨어
  9.
프로그래밍언어 종류
  10.
프로그래밍 기타일반
 


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)
[프로그래밍]1. 프로그램, 프로그래밍   2. [프로그래밍 언어론]   3. [프로그래밍 방법론]   4. [객체지향 프로그래밍]   5. [자료표현코드]   6. [자료구조]   7. [알고리즘]   8. [시스템 소프트웨어]   9. [프로그래밍언어 종류]   10. [프로그래밍 기타일반]  

  1. Top (분류 펼침)      :     1,604개 분류    6,617건 해설