상사 : ㅎㅅㅎ씨 이거 컴파일해서 공유폴더에 업로드해줘요~
ㅎㅅㅎ : 컴파일...? 빌드말고 컴파일...?😵😵😵😵😵
'어...? 이게 맞나...?' 듣고 말하다보면 헷갈리는 개념들이 있다 🙄
특히 개발 언어들은 비슷한 뜻을 다른 단어로 표현하거나, 사람들이 너무 많이 써서 틀린 표기인데도 그냥 사용하는 등
신조어나 외래어가 자주 등장한다.
헷갈리면 정리를 해야지! 머리 속에 둥둥~ 떠다니는 것들을 한 곳에 정리하도록 한다! 😎
사람이 보기에 편하게 만든 코드를 ✨컴퓨터가 알아들을 수 있도록 프로그래밍 언어(기계어)로 만들어주는 번역 과정이 필요하다.
그때, 필요한 통역사가 바로 인터프리터와 컴파일러이다.
인터프리터 언어
✨컴파일러를 거쳐서 기계어로 변환되지 않고 바로 실행되는 프로그래밍 언어
똑똑하긴한데 스트릿 감성이 물씬 풍기면서 사소한 건 넘겨버리는 털털한 친구들이 있었는데 그런 통역사랄까?
목적 파일이 없기 때문에 빌드시간이 없고, 코드가 작성될 때마다 인터프리터가 한 줄씩 해석해서 바로 명령어를 실행
문법적인 오류가 있어도 실행은 시작된다.
컴파일 언어
✨반드시 기계어로 컴파일되어야만 실행시킬 수 있는 프로그래밍 언어
칼같은 머리 스타일과 정장을 입고 뿔테 안경까지 쓴 똑똑하고 꼼꼼한 범생이 스타일의 비서같은 통역사 느낌
코드를 기계어로 번역해 (컴파일) 목적 파일을 만드는 시간이 필요하다.
컴파일할 때 오류가 있다면, 기계어 번역을 통해 빌드되지 않아 실행도 되지 않는다.
스크립트 언어
✨응용 소프트웨어를 제어하기 위해 사용하는 프로그래밍 언어
인터프리터 방식에 사용하기 위해 나온 것으로 최종 사용자가 응용 프로그램을 수정할 수 있도록 한다.
예를 들어, JavaScript를 통해 웹 브라우저(응용 프로그램)를 어떻게 실행할지 정한다.
인터프리터 | 컴퍼일러 | |
실행 | 한 줄씩 번역 | 전체를 번역 |
메모리 할당 | 사용 X 즉시 실행 |
사용 O 목적 프로그램 생성 |
번역 속도 | 빠름 | 느림 |
실행 속도 | 느림 | 빠름 |
프로그램 저장 위치 | ROM | Disk |
대표 언어 | JavaScript / Python / R / Ruby 등 | Java / C# / C++ 등 |
빌드
✨소스 코드 파일을 컴퓨터나 휴대폰에서 실행할 수 있는 독립(standalone) 소프트웨어가공물로 변환하는 과정
사람이 해석할 수 있는 언어(고급 언어, 어셈블리어)를 컴퓨터가 이해할 수 있는 언어(저급 언어, 기계어)로 변환
컴파일
✨소스 코드 파일을 실행 파일, 라이브러리 등의 Object 파일로 바꾸는 작업
빌드 단계 속에 컴파일이 함께 진행된다!자바는 클래스 파일들이 생성되고, C#은 솔루션이 생성된다.
기계어
✨컴퓨터가 이해하고 사용하는 언어 (CPU가 해독할 수 있는 유일한 언어)
전기적 신호인 0과 1로만 표현하고, 비트 단위를 사용한다.
숫자나 데이터는 아니고 있음/없음 낮음/높음 역방향/정방향 과 같은 이분법적인 상태를 표현한다.
'잘 몰라서 하는 공부 > 분류하기 애매해서' 카테고리의 다른 글
Windows MSMQ 설정 (0) | 2022.08.31 |
---|---|
오버로드 / 오버라이드 / 오버로딩/오버라이딩 (0) | 2022.06.27 |