세상을 먹어치우는 소프트웨어
2011년 8월 20일 마크 앤드리슨이 월스트리트 저널에 실은 다음 예언은 적중하였다.
Software is eating the world.
4차 산업 기술의 핵심에는 소프트웨어가 있다.
마크 앤드리슨의 예언처럼 소프트웨어가 세상을 먹어치우고 있다.
이것이 우리가 코딩을 배워야하는 이유
Over the next 10 years, the battles between incumbents and software-powered insurgents will be epic.
소프트웨어가 이 시대의 It,자동차,금융,의료 등 세계를 지배할 것이다!
컴퓨터가 처리할 일련의 작업을 묘사하는 것을 프로그래밍이라 하고, 이때 사용하는 컴퓨터 언어를 프로그래밍 언어 라고 한다.
컴퓨터의 두뇌인 CPU는 이진수(binary code)인 0과 1밖에 이해하지 못한다.
컴퓨터가 바로 이해하고 처리할 수 있는 0과 ㅂ만의 이진수를 사용하는 원시적인 언어를 기계어라고 한다. 기계어는 사람이 작성하기에는 매우 저수준 프로그래밍 언어(low-level programming language)이기 때문에 프로그램을 작성하는 것도 작성된 프로그램을 읽고 수정하는 것도 어려웠다.
이러한 어려움을 해결하기 위해 0과 1로 구성되는 기계어의 각 명령어를 ADD,SUB,MOVE 등과 같이 사람이 표현하기 가장 쉬운 상징적인 니모닉기호(mnemonic symbol)로 일대일 대응시킨 어셈블리어가 만들어졌다.
어셈블리어로 작성된 프로그램은 어셈블러라고 부르는 시스템 프로그램에 의해 기계어 프로그램으로 변환되어 컴퓨터에서 실행된다. 그렇지만 어셈블리어도 저수준 언어로서 한계가 있다.
이에 사람이 이해하고 표현하기 쉬우며, 복잡한 알고리즘이나 다양한 프로그램 구조 및 자료를 효율적으로 표현할 수 있는 Fortran,Pascal,Basic,C/C++,C#,Java등의 고급언어가 생겨나게 되었다.
고급 프로그래밍 언어로 작성된 프로그램은 컴파일러라고 부르는 시스템 프로그램에 의해 기계어로 변환되어 컴퓨터에서 실행된다.
고급 프로그램을 기계어 프로그램으로 변환하는 과정을 컴파일이라고 부른다.
ⓒ 참고문헌 생능출판 명품 C++ Programming 황기태 저자