易 地 思 之
What ?
프로그래밍 언어
기계어(이진 코드)와 사람의 언어의 다리역할을 합니다.
💡 고급 언어와 저급언어로 구분됩니다.
1. 고급 언어 (High-Level Language)
특징:
- 사람이 이해하기 쉬운 문법으로 작성됩니다.
- 하드웨어에 대한 세부 사항(메모리 관리, 프로세서 명령 등)을 신경 쓸 필요가 없습니다.
- 운영 체제와 독립적으로 동작하며, 여러 플랫폼에서 실행 가능합니다.
- 컴파일러나 인터프리터를 통해 저급 언어(기계어)로 변환되어 실행됩니다.
장점:
- 가독성: 코드가 직관적이고 읽기 쉬움.
- 생산성: 개발 속도가 빠르고 디버깅이 쉬움.
- 이식성: 다양한 플랫폼에서 실행 가능.
단점:
- 저급 언어보다 성능이 낮을 수 있음(컴파일 과정에서 최적화가 필요).
- 하드웨어와 직접적인 통제가 어려움.
예시:
- Python, Java, C#, JavaScript, Ruby, Swift 등
2. 저급 언어 (Low-Level Language)
특징:
- 하드웨어와 매우 가까운 수준에서 작성됩니다.
- 기계어 또는 어셈블리어와 같은 언어를 포함합니다.
- 개발자가 메모리 주소, 레지스터와 같은 하드웨어의 세부 사항을 직접 다룹니다.
- 특정 하드웨어 아키텍처에 의존적입니다.
장점:
- 고성능: 하드웨어 자원을 직접 다루기 때문에 효율적.
- 정밀한 제어: 메모리와 CPU를 세밀하게 관리 가능.
단점:
- 가독성 낮음: 사람이 이해하기 어려운 문법.
- 생산성 낮음: 개발과 디버깅이 복잡하고 시간이 많이 걸림.
- 이식성 없음: 특정 하드웨어에 종속적.
예시:
- 어셈블리어(Assembly Language), 기계어(Machine Language)
비교 요약
특성고급 언어저급 언어
| 추상화 수준 | 높음 (사람 친화적) | 낮음 (하드웨어 친화적) |
| 가독성 | 높음 | 낮음 |
| 개발 속도 | 빠름 | 느림 |
| 성능 | 상대적으로 낮음 | 높음 |
| 이식성 | 플랫폼 독립적 | 플랫폼 종속적 |
| 용도 | 응용 프로그램, 웹 개발, 데이터 분석 | 시스템 프로그래밍, 드라이버 개발 |
결론
- 고급 언어는 빠른 개발과 유지보수가 필요한 일반적인 응용 프로그램에 적합합니다.
- 저급 언어는 성능 최적화와 하드웨어와의 직접적인 상호작용이 필요한 경우에 사용됩니다