프로그래밍과 프로그래밍 언어 프로그래밍기초


∴ 프로그래밍이란 무엇일까?
  • 주어진 문제에 대해 '프로그래밍 도구' 를 이용해서 컴퓨터가 효율적으로 수행 하기 위해서 논리와 순서에 맞게
    처리할 명령들이 나열된 명령들의 집합을 만드는 것이다.
∴ 프로그래밍 도구???!
  • 프로그래밍 언어도 프로그래밍 도구가 될 수 있습니다 ( C/C++/JAVA/Python )
    자료구조/알고리즘/수학원리/물리 등 도 프로그래밍 도구가 될 수 있습니다.
    컴파일러( Visual Studio ), 이클립스 등과 같은 툴 또한 마찬가지입니다.

  • 즉, 적절한 도구를 효율적으로 잘 사용해야 프로그래밍을 잘 할 수 있다는 뜻이 됩니다.
    위에서와 같이 효율적인 수행을 위해서는 알고리즘의 이론에 부합되는 내용입니다. 

  • 메모장으로도 소스를 작성할 수는 있지만 빌드도 대신 해주는 Visual Studio 와 같은 도구(툴)를 이용하는 것이
    개발시간의 단축을 불러옵니다. 
    일일이 기계어로 번역하는 그런 번거로운일이 하고 싶은 분들은 메모장으로 프로그래밍을 하시면 됩니다. 
∴ 프로그래밍 언어의 필요성!!!!
  • 컴퓨터는 0과 1을 사랑하는 녀석입니다. 관리하는 모든 데이터들은 숫자로 이루어져 있습니다.
    사람이 일일이 모든 언어를 숫자로 읽어주는 일을 하는 것은 바보나 하는일이 되는겁니다.

  • 우리가 사용하는 언어를 문법에 맞추어 사용하여 상대방이 알아듣기 쉽게 처리하는 것처럼 컴퓨터와의
    대화 또한 마찬가지가 됩니다. 그걸 위해 프로그래밍 언어를 사용하는 것이죠.

  • 컴파일러를 사용해 컴퓨터가 알아듣기 쉽게 처리해주는 것이죠. 외국의 책을 번역해주거나 하는 번역가의 일을 
    컴파일러가 대신 처리하여 컴파일(번역)을 하게 됩니다.

  • 언어의 구분은 크게 2가지로 나뉩니다.
    저급 언어 : 컴퓨터가 바로 처리 가능한 언어( 즉, 한국인이 미국인과 대화를 위해 영어를 쓰는 것이죠 )
    가장 대표적으로 기계어와 어셈블리어가 있습니다.
     - 기계어 : 0과 1의 2진수로만 구성
     - 어셈블리어 : 기계어 명령에 알파벳을 기호를 부여하여 컴퓨터의 행동을 제어

    고급 언어 : 사람이 사용하기 편리한 언어 (즉, 통역을 하는 사람을 통해서 영어를 대신 전달 하게 됩니다. )
    고급 언어의 종류는 다양합니다. 
     - COBOL, FORTRAN, ALGOL, C, C++, C#, JAVA, BASIC 등등
∴ 컴파일러와 인터프리터
  • 컴파일러 ( Compiler )
    고급언어로 쓰여진 코드를 컴퓨터에서 즉시 실행 될 수 있는 형태의 목적 프로그램으러 바꾸어 주는 번역 프로그램
    (C, C++, JAVA 등)

  • 인터프리터 ( Interpreter )
    코드를 한꺼 번에 기계어로 변환시키는 컴파일러와 다르게 한 줄씩(혹은 한 단계씩) 기계어로 해석하여 실행하는
    '언어처리 프로그램' 입니다.
    단계별로 테스트와 수정을 하며 진행하는 대화형언어( BASIC, HTML ) 에 적합하지만 실행 시간이 많이 소요되는
    아쉬운 점도 있습니다.

  • 컴파일러의 빌드 과정은 다음과 같습니다. 
    1. 소스코드 작성
     - 사람이 작성한 고급언어 형태의 소스코드 작성
    2. 컴파일
     - 목적파일( *.obj ) 생성
    3. 링크
     - 라이브러리, 다른 목적파일과 연결
    4. 실행파일 생성
     - 실행파일 ( *.exe ) 생성

덧글

댓글 입력 영역