BookStudy
비전공자를 위한 이해할 수 있는 IT 지식 [2장 프로그래밍 언어 & 운영체제]
뮤셍
2023. 3. 3. 19:06
프로그래밍 언어 & 운영체제(OS)
- 컴파일러
- 인간의 요구(프로그래밍 혹은 코딩)를 컴퓨터에게 0과 1로 변환해서 전달해주는 프로그램
- 통합 개발 환경 (Integrated Development Environment, IDE)
- 개발을 하기 위한 모든 것들을 제공해주는 프로그램
- 대부분 어떤 분야에 특화되어 있다 (특정 IDE는 여러 언어, 여러 분야를 지원하기도 함)
- Andriod Studio 안드로이드 애플리케이션 개발 용도
- Xcode 애플 운영 체제 위의 어플리케이션 개발 용도
- Eclipse C/C++ 개발, 자바 개발, 웹 개발 용도
- PyCharm 파이썬 개발 용도
- 등등...
프로그래밍 언어를 구분하는 기준
저수준 | 고수준 |
컴퓨터 친화적인 언어 | 인간 친화적인 언어 |
배우기 쉽지 않다 | 사람들이 학습하기 쉽다 |
컴퓨터 입장에서 구체적으로 적혀있어 컴퓨터가 일하기 쉽다. 즉, 낮은 사양의 컴퓨터에서도 원활히 작동한다. |
사람이 쓰기에 편리하고, 유지 보수도 저수준 언어에 비해 쉽다. 즉, 컴퓨터에게 구체적으로 설명해줘야 할 부분들을 조금만 설명해 줘도 컴퓨터가 알아서 행동한다. |
- 우리가 쓰는 컴퓨터들은 사양이 아주 좋아서 우리 컴퓨터에 들어가는 소프트웨어들은 고수준의 언어로 만든다.
- 고수준 언어로 쓰인 문서를 읽어도 충분히 돌아갈 만큼 빠르기 때문
- ex) 스마트폰, 데스크톱 애플리케이션
- 고수준 언어로 쓰인 문서를 읽어도 충분히 돌아갈 만큼 빠르기 때문
- 컴퓨터가 아닌 다른 메인 기능이 있는 가전제품에 컴퓨터가 들어갈 때 저수준 언어를 사용한다.
- 컴퓨터 사양을 낮춰 컴퓨터의 가격을 저렴하게 만들어야 되기 때문
- ex) IPTV, 라디오, 프린터 등
- 컴퓨터 사양을 낮춰 컴퓨터의 가격을 저렴하게 만들어야 되기 때문
운영 체제(Operating System)
사람 대신 하드웨어를 관리해주는 소프트웨어
대표적으로 윈도우, 맥 OS, IOS, 안드로이드(Android)가 있다.
과거에는 운영체제의 종류가 훨씬 다양해서 배워야 하는 프로그래밍 언어가 굉장히 많았다.
프로그램 버그를 수정하거나 새로운 기능을 추가할 때 일이 산더미처럼 늘어났고,
이 문제를 자바라는 프로그래밍 언어가 해결하게 된다.
JVM (Java Virtual Machine)
자바 언어로 만든 프로그램이 JVM위에서 돌아갈 수 있도록 한 소프트웨어
- 사용자가 자신의 컴퓨터에 JVM을 설치하기만 하면, 운영체제별로 여러 개의 프로그램을 만들 필요 없이 자바로만 만들어도 실행이 가능해짐
이후 자바 이외에도 다양한 언어가 이런 방식을 취하게 됨