IT 지식 책 정리 1
앱개발 부트캠프에 사전 자료로 받은 깃북이 외계어 처럼보여서
그보다 더 기초적인 지식이 필요했다
그래서 비전공자도 쉽게 이해할 수 있는 책을 읽고 정리해봤다
[프로그래밍 언어 & 운영체제(OS)]
컴퓨터는 0과 1로 이루어진 기계어를 쓰고있기 때문에 컴퓨터 언어와 사람 언어를 모두 알고 있는 '컴파일러'로 소통한다
개발자는 컴파일러에게 문서로 일을 시키는 사람으로 자바, 파이썬, 루비, 스위프트 등 영어로 되어있는 프로그래밍 언어를 통해 컴파일러에게 명력을 전달하면, 컴파일러가 그명령을 기계어인 0과 1로 변환해서 컴퓨터에게 전달한다
개발자가 컴퓨터에게 프로그래밍 언어로 시키는 모든 일을 '프로그래밍 혹은 코딩'이라고 한다
컴파일러는 개발자가 코딩한 문서를 0과 1로 바꿔서 컴퓨터에게 전달해주면 컴퓨터는 그대로 행동한다
여기서 프로그래머가 코딩의 모든 단어와 기호를 술술 적을 수 있도록 도와주는 기능이 있다
이런 프로그램들을 용어정리때 나왔던 IDE(통합 개발 환경)라고 한다
IDE(통합 개발 환경)종류
Android Studio: 안드로이드 애플리케이션 개발 용도
Xcode: 애플 운영 체제 위의 어플리케이션 개발 용도
Eclipse: C/C++개발, 자바 개발, 웹 개발 용도
PyCham: 파이썬 개발 용도
그렇다면 여기서 프로그래밍 언어의 종류가 왜이렇게 다양할까?
여러사람들이 본인의 입맛에 맞춰 다양한 언어들을 개발하고 사람들이 써보고 갑을론박을 하게 된다
그 과정에서 선택받은 언어만이 살아남게 되고 지금도 계속해서 새롭게 만들어 지고 있다
각자의 상황과 환경에 적합한 언어를 사용하다 보니 다양한 언어가 발전을 하게 됐는데 하나의 기준이 있다면 바로 '저수준'과 '고수준'이다
저수준: 컴퓨터 치화적 언어
고수준: 인간 친화적인 언어
저수준은 고수준 보다 빠르게 작동하지만 컴퓨터 언어에 맞춰서 좀 더 구체적이고 꼼꼼하게 명령을 해야한다
고수준은 꼼꼼하게 설명할 부분은 조금만 설명해도 컴퓨터가 알아서 작동한다
그 과정에서 컴퓨터가 좀 더 고민을 해야하는 부분이 늘어나기 때문에 컴퓨터 사양에 따라 작동이 느릴 수 있다
신입과 경력직에 비유를 하면 이해가 쉽다
그렇다면 이 두가지는 언제 어떻게 사용이 될까?
저수준의 경우 컴퓨터 사양을 낮춰서 가격을 내려야 할 때 사용된다
사용자가 컴퓨터에게 명령해서 여러가지를 작동하게 하는게 아닌 개발자가 완성해서 판매를 하는 제품일 경우 저수준을 사용한다
예를 들면IPTV, 복합기, 스캐너, 라디오, 프로젝터, 프린터 등이 있다
고수준은 우리 컴퓨터에 들어가는 소프트웨어에 적용된다
스마트폰, 데스크톱 애플리케이션이 그 예다