반응형
프로그래밍이란 절차적 글쓰기이다.
어떤 일들의 진행순서를 정하는 것이 프로그래밍이다. 즉 일하는 절차에 대한 글쓰기이다.
글로 작성한 해야 할 일을 정한 순서대로 수행하는 것을 실행이라고 한다.
모든 실행은 고유한 흐름을 가진다. 프로그램의 목표는 근본적으로 자동화에 있다.
컴파일과 고급어, 저급어
저급어는 기계어이다.
기계어는 알아보기 매우 어렵고 고급어는 인간이 이해하기 쉬운 언어이다.
고급어의 코드는 보통 함수 단위로 묶어 표시한다.
고급어를 기계어로 바꾸는 것이 컴파일이다.
컴파일을 해주는 것이 바로 컴파일러이다.
C는 네이티브 언어다.
컴파일이 되면 OS와 CPU에 의존적인 실행파일이 만들어진다.
이렇게 컴파일을 할 경우 OS와 CPU에 의존적이면 네이티브 코드라고 부른다.
Java는 네이티브와 매니지드의 특징을 둘 다 가지고 있다.
VM은 CPU를 가상으로 구현한 머신이다.
VM이 사용하는 기계어가 따로 있는데 그런 방식으로 작동하는 것이 바로 매니지드 언어이다.
Java를 컴파일하여 class 파일을 만들고 해당 바이트코드를 JVM에서 실행함.
인터프리터
고급어 소스코드를 직접 실행하는 프로그램이나 환경을 의미한다.
보통 한번에 한 줄 단위로 실행한다.
성능(특히 속도)면에서 컴파일 방식보다 느리다.
그러나 변경이 되는 경우에는 빠르게 적용이 가능해서 유연성이 뛰어나다.
JS나 Python등이 여기에 해당한다.
API와 SDK
Application Programming Interface
Software Development kit
함수와 함수 세트를 의미한다.
공구와 공구세트로 이해하면 쉽다.
반응형
'컴퓨터공학' 카테고리의 다른 글
[컴퓨터 공학] CS를 위한 기초 상식 (2) | 2024.11.18 |
---|