기계 수준 코드를 작성하는 것은 어려운 과정입니다.
이미지 크레디트: Jupiterimages/Photos.com/Getty Images
모든 프로그래밍 언어의 목적은 컴퓨터를 값비싼 전자 문진에서 유용한 데이터 처리 및 저장 장치로 변환하는 것입니다. 이 작업을 수행하기 위해 언어를 선택하는 것은 효율성과 사용 용이성 간의 균형입니다. 기계어는 이 두 요소 모두에 대한 스펙트럼의 극단을 나타냅니다.
기계어
기계어는 번역기 없이 컴퓨터가 이해할 수 있는 유일한 명령 집합을 생성합니다. 컴퓨터는 오디오 및 비디오 재생, 데이터 처리 및 저장, 인터넷 오직 하나만을 인식하는 명령 집합에 응답하여 통신 및 기타 모든 특수 작업 및 0. 1과 0으로 구성된 수백 줄의 코드를 작성하는 것은 C 및 Java와 같은 고급 언어의 인기를 설명하는 정확하고 지루한 프로세스입니다.
오늘의 비디오
초기 장점
최초의 IBM 개인용 컴퓨터에는 512킬로바이트의 랜덤 액세스 메모리와 360킬로바이트의 플로피 드라이브가 장착되어 있었습니다. 운영 체제가 플로피 드라이브에서 메모리로 로드된 후 프로그램은 나머지 메모리에 로드되었습니다. 활성 프로그램이 처리할 수 있는 매우 작은 RAM 영역(종종 100KB 미만)을 남겨두는 메모리 공간 데이터. 이 기간 동안 프로그래머의 주요 관심사는 간결하고 효율적인 코드였습니다. 이 초기 컴퓨터에서 선택한 프로그래밍 도구는 일반적으로 기계어였으며 BASIC 또는 C로 작성된 버전보다 훨씬 작을 수 있습니다. 또한 자손, 어셈블리 언어를 사용하는 것이 다소 쉬웠습니다.
플랫폼 종속성
기계어는 컴퓨터의 하드웨어를 직접 다루므로 프로그래머가 프로그램 실행의 모든 측면을 완벽하게 제어할 수 있습니다. 이 접근 방식의 단점은 프로그래머가 효과적인 코드를 작성하기 전에 각 칩셋의 아키텍처를 알아야 한다는 것입니다. 예를 들어 비디오 카드 또는 드라이브 컨트롤러와 같은 구성 요소가 변경되면 기계어 코드를 업데이트하여 새 장치를 인식하고 주소를 지정해야 합니다.
고급 언어
기계어의 속도와 작은 메모리 공간의 이점이 바이너리 코드로 칩 수준 명령어를 작성하는 어려움보다 점점 더 중요해지고 있습니다. 기가바이트의 RAM과 테라바이트의 사용 가능한 스토리지는 현대 개인용 컴퓨터에서 간결하고 효율적인 코드에 대한 요구 사항을 제거했습니다. C 및 Java와 같은 고급 언어로 작성된 프로그램의 추가 메모리 및 스토리지 요구 사항은 더 이상 개발 플랫폼을 선택할 때 고려되는 요소가 아닙니다. 사용 용이성과 향후 프로그램 유지 관리 문제는 대부분의 최신 소프트웨어 프로젝트에서 속도와 효율성을 대신합니다.