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을 설치하기만 하면, 운영체제별로 여러 개의 프로그램을 만들 필요 없이 자바로만 만들어도 실행이 가능해짐

이후 자바 이외에도 다양한 언어가 이런 방식을 취하게 됨