∴ 프로그래밍이란 무엇일까?
- 주어진 문제에 대해 '프로그래밍 도구' 를 이용해서 컴퓨터가 효율적으로 수행 하기 위해서 논리와 순서에 맞게
처리할 명령들이 나열된 명령들의 집합을 만드는 것이다.
∴ 프로그래밍 도구???!
- 프로그래밍 언어도 프로그래밍 도구가 될 수 있습니다 ( 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 ) 생성




덧글