🌹 정리 by 장미(https://velog.io/@newbiekim/)
C언어는 low level 퍼포먼스를 위해 디자인된 프로그래밍 언어이다. 즉, 기계에 가까운 언어라는 소리다.
예를 들어, 에어컨이나 스마트 TV 같은 걸 프로그래밍 할 때 주로 사용한다. 또한, C언어는 메모리를 적게 차지하고 빠르게 동작(기계어와 가깝기 때문에 컴퓨터가 빠르게 이해함.)하기 때문에 메모리 공간이 부족한 곳에 주로 사용한다.
시스템 프로그래밍이 가능하다.
운영체제를 개발할 목적으로 만든 언어이므로 하드웨어를 제어하는 시스템 프로그래밍이 가능하다.
이식성을 갖춘 프로그램을 만들 수 있다.
표준이 정의되지 않은 문법을 사용한 프로그램은 특정 컴파일러에서만 컴파일될 가능성이 높으므로 이식성을 유지하기가 힘들다. 하지만 C언어는 이식성을 갖춘 언어다.
(이식성: 기종이 다른 컴퓨터에서도 사용 가능한 프로그램을 뜻한다.)
작고 효율적이다.
C로 짜여진 코드는 속도가 빠르고 바이너리 크기가 작다. 이러한 특성 때문에 속도가 생산성보다 중요한 임베디드 혹은 모바일 계열, 시스템 프로그래밍 등에서 주로 사용된다.
절차지향 프로그래밍 언어이다.
절차지향 프로그래밍은 순차적인 처리가 중요하다.
자바는 객체지향 프로그래밍 언어로, 주로 웹 서버와 안드로이드에서 쓰이는 언어이다.
자바에는 Java API라 하는 자바 시스템 제어를 위한 명령어가 있다.
자바 프로그램은 바이트 코드 파일(.class)로 구성된다. 이 바이트 코드 파일은 운영체제에서 바로 실행할 수 없다. 자바 가상 기계(JVM)라는 번역기가 필요하다.
자바가 JVM을 사용하는 이유는 바이트 코드 파일이 다양한 운영체제에서 독립적으로 사용 가능하기 때문이다.
C는 리눅스, 윈도우, 맥 등 운영체제별로 운영체제 위에서 바로 실행되지만, 자바는 운영체제 위의 JVM에서 실행된다.