언매니지드 언어 & 매니지드 언어

정수·2023년 3월 19일
0
post-thumbnail

언매니지드 언어 (unmanaged language)

언매니지드 언어는 개발자가 주도적으로 메모리를 할당하고 해제하기 위해 malloc()이나 free()와 같은 메모리 제어 기능을 제공합니다. 덕분에 개발자의 역량에 따라 최적의 성능을 확보할 수 있지만 반대로 치명적 오류를 생산할 수 있는 가능성도 존재합니다. C, C++과 같은 언어가 이에 해당합니다.

매니지드 언어 (managed language)

매니지드 언어는 메모리 제어 권한을 개발자에게 허용하지 않고 언어 차원에서 담당하고 있습니다. 즉, 개발자가 명시적으로 메모리를 할당하고 관리할 수 없으며 이 덕분에 개발자의 역량에 의존하는 부분이 상대적으로 작아졌으나 성능 면에서 어느 정도의 손실은 감수할 수밖에 없습니다. Python, JavaScript와 같은 언어가 이에 해당합니다.

+) ECMAScript 사양은 문자열과 숫자 타입을 제외한 다른 데이터 타입에 대해 메모리 확보 공간을 규정하고 있지 않습니다. 즉, JavaScript Engine의 제조사의 구현에 따라 다를 수 있는 부분입니다.

profile
해피한하루

0개의 댓글