기록은 기억을 이기고 시간보다 오래 남는다.

Computer Science

프로그램의 번역과 실행

준_준 2024. 4. 17. 16:01

-프로그래밍 언어의 분류

           고수준 프로그래밍 (c++, java Python)

                      사람이 생각하는 방식에 가까운 언어 구조와 표현 

           복잡한 설계와 소프트웨어 상호작용을 표현하기에 적합 용이하고 하드웨어 의존           성이 최소

           이셈플리

                      기계어를 1:1로 사람이 알아볼만한 기호로 표현

           기계어

                      하드웨어에 특화된 프로그래밍 가능 -> 실행 효율이 높을 수 있음

                      기게가 바로 이해할 수 있는 언어

 

-프로그램의 번역

           원시 코드 

                      고수준 프로그래밍 언어 이용

                      프로그래머가 작성

                      어느 기계에 실행할지에 따라 크게 다르지 않음

           목적 코드

                      기계가 이해할 수 있는 명령어들의 집합

                      -0과 1만으로 이루어진 코드의 나열

                      서로 다른 컴퓨터에서 다르게 표현됨

 

 

-프로그 맬 번역/실행의 모델 비교

           컴파일러 방식의 장점

                      번역을 실행 이전에 해 두므로 코드를 공들여 최적화할 수 있다.

                      따라서 코드 실행의 효율이 높다.

           인터프리터 방식의 장점

                      다른 컴퓨터로 옮겨 실행하는 것이 편리하다.

                      대화형 개발이 가능하다.

           이 두 방식의 장점을 택한 방법들도 이용됨(java, python)

 

-가상기계를 이용한 실행 모델

           컴파일러 방식과 인터프리터 방식의 장점을 취하려는 의도

                      컴파일러에 의하여 코드 최적화 가능, 실행 효율이 높음

                      동일한 모델의 가상기계를 운용하는 어떠한 컴퓨터에서도 실행 가능

                      (네트워크를 통해 코드를 공유하는 것도 일반적)

반응형

'Computer Science' 카테고리의 다른 글

소프트웨어 공학이란 무엇인가?  (0) 2024.05.01
백엔드 개발 이해하기  (0) 2024.04.22
웹의 이해  (0) 2024.04.18
컴퓨터 구조의 설계와 구현  (0) 2024.04.17
디지털 정보의 표현  (0) 2024.04.17