공통 언어 기반

공통 언어 기반 또는 공통 언어 인프라(Common Language Infrastructure, CLI)는 마이크로소프트 닷넷 프레임워크, 모노, 포터블 닷넷과 같은 수많은 런타임의 중심부를 형성하는 실행 코드와 런타임 환경을 설명하기 위해 마이크로소프트사가 개발한 오픈 규격이다. 이 규격은 여러 개의 높은 수준의 언어가 다른 컴퓨터 플랫폼에서 특정한 구조를 위해 별도의 수정 과정 없이 사용될 수 있게 만들어 준다. 따라서 윈도우,맥,리눅스,안드로이드등 다양한 플랫폼에서 오픈소스로 구현된다.

CLI은 단지 규격이지, 추가되는 "기능"이 아니다. 또, 사람들은 CLI 규격의 범위 밖의 부분까지 포함하는 공통 언어 런타임(CLR)과 자주 혼동하기도 한다.

공통 언어 기반의 시각적 개요.

다른 것들 가운데 CLI 규격은 다음의 네 가지 부분을 서술하고 있다:

  • 공통 형 체계 (CTS)
  • 메타데이터
  • 공통 언어 규격 (CLS)
  • 가상 실행 시스템 (VES)

호환되는 모든 언어는 플랫폼 하드웨어에서 떨어져 나온 중간 언어공통 중간 언어(CIL)와 컴파일이 가능하다. 코드가 실행될 때, 플랫폼에 의지하는 VES는 공통 중간 언어를 호환 하드웨어에 맞추어 기계어로 컴파일하게 된다.

규격 및 라이선스 편집

2000년 8월에 마이크로소프트, 휴렛 패커드, 인텔 등의 회사는 공통 언어 기반의 표준화를 착수하였다. 2001년 12월에 ECMA에 비준되었고, 이에 이어 2003년 4월에 ISO 표준으로 자리잡았다.

동적 언어 지원 편집

공통 언어 기반은 현재 동적 형 언어를 자체적으로 지원하지 않고 있다. 그 까닭은 기존의 공통 중간 언어정적 형을 사용하고 있기 때문이다.[1] 동적 언어 런타임은 CLR을 지원해 준다.

기능 편집

참고 문헌 편집

각주 편집

  1. Pobar, Joel (2007-01-03). CLR Dynamic languages under the hood. 2008년 1월 26일 확인.