고급 프로그래밍 언어의 단점

컴퓨터 프로그래밍 용어에서 프로그래밍 언어는 종종 "고급" 언어와 "저급" 언어로 구분됩니다. 둘의 차이점은 하드웨어 상호 작용의 문제입니다. 간단히 말해서 저수준 언어는 실제 하드웨어 상호 작용에 더 가까운 컴퓨터 시스템의 "하위"에 있습니다. 고급 언어는 하드웨어에서 추상화됩니다. 이 추상화의 결과로 더 빠르고 읽기 쉬운 코드가 생성될 수 있지만 속도 이점이 줄어들고 시스템 리소스에 대한 액세스가 줄어듭니다.

추출

고급 언어가 저급 언어와 다른 점은 언어가 시스템 리소스에서 갖는 추상화 수준입니다. 매일 시스템 리소스를 처리하는 것은 느리고 고통스러울 수 있습니다. 프로그래머를 위해 시스템을 처리하여 이 문제를 해결하기 위해 고급 언어가 만들어졌습니다. 그녀는 메모리와 같은 시스템의 세부 사항을 무시하면서 더 고급 작업을 완료합니다. 관리. 그러나 이것은 프로그래머가 시스템 접근이 필요한 상황에 놓일 수 있고 고급 언어가 그 접근을 제공할 수 없는 상황에 놓일 수 있다는 단점이 있습니다. 고급 언어는 일반적으로 시스템 프로그래밍에 적합하지 않습니다.

오늘의 비디오

속도

고급 언어는 일반적으로 "컴파일된" 저급 언어가 아닌 "해석된" 언어입니다. "해석"이란 단순히 언어가 바이너리 파일을 컴파일하는 대신 소스 코드를 한 번에 한 줄씩 실행하는 인터프리터를 사용한다는 것을 의미합니다. 그러나 인터프리터는 종종 컴파일된 언어로 작성된 프로그램입니다. 이 때문에 해석된 언어(예: Python)는 C로 작성된 Python 인터프리터에서만 실행됩니다. 이것은 해석된 프로그램의 메모리와 시간 오버헤드를 증가시키고 종종 더 느리게 실행됩니다.

시스템 특성

고급 코드의 외관상 강점은 이식성입니다. 고급 코드는 적절한 인터프리터가 설치된 모든 시스템에서 실행할 수 있습니다. 그러나 프로그램이 컴퓨터용으로 컴파일될 때 컴파일 시 해당 시스템의 전체 환경을 고려합니다. 해석된 언어는 인터프리터가 제공할 수 있는 것 외에는 해석된 프로그램이 시스템에 대해 아무것도 알지 못하는 지점까지 시스템에서 이미 추상화되어 있습니다.

프로그래밍 한계

고급 언어의 특성 때문에 적합하지 않거나 적어도 아직 적합하지 않은 특정 작업이 있습니다. 시스템 리소스에 대한 액세스가 없으면 OS 기반 애플리케이션을 빠르게 개발하기가 어렵습니다. 게다가 운영체제를 개발하는 것조차 문제가 된다. 더 많은 소프트웨어가 온라인으로 이동함에 따라 이 사실은 문제가 되지 않지만 상업 및 산업 용도의 경우 해석된 언어가 너무 느리게 작동하거나 하드웨어 상호 작용에서 너무 멀리 떨어져 있을 수 있습니다.