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