목록으로
'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선 읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.

Starlark 프로그래밍 언어

Starlark 프로그래밍 언어

Starlark는 Python 문법을 기반으로 한 간단하고 스레드 안전한 언어로, 다른 애플리케이션에 임베딩되어 구성 또는 스크립팅 기능을 제공하도록 설계되었습니다.

특징

  • Python 계열 : Starlark는 Python의 방언으로, 동적 타이핑, 고수준 데이터 타입, 래깅스코프를 가진 일급 함수, 가비지 컬렉션 등의 기능을 제공합니다.
  • 병렬 처리 : 독립적인 Starlark 스레드는 병렬로 실행되어, 병렬 처리 장치에서 작업 부하가 효과적으로 확장됩니다.
  • 간결한 문법 : 작고 단순한 언어로, 익숙하고 가독성이 높은 문법을 갖추고 있어 구조화된 데이터 표현, 반복 제거를 위한 함수 정의, 기존 애플리케이션에 스크립팅 기능 추가 등에 유용합니다.

Starlark를 선택해야 하는 이유

  • 결정론적 평가 : 동일한 코드를 두 번 실행해도 동일한 결과를 보장합니다.
  • 고립된 실행 환경 : 파일 시스템, 네트워크, 시스템 클록 등에 접근할 수 없어 신뢰할 수 없는 코드를 안전하게 실행할 수 있습니다.
  • 병렬 평가 : 모듈을 병렬로 로드할 수 있으며, 공유 데이터가 불변이므로 스레드 안전한 실행이 가능합니다.
  • 단순성 : 코드 이해에 필요한 개념을 최소화하여, 비전문가도 빠르게 코드를 읽고 쓸 수 있으며 언어의 함정을 최소화했습니다.
  • 툴링 중심 : 소스 코드는 인간과 도구 모두에 의해 읽히고 분석되며 수정될 수 있도록 설계되었습니다.
  • Python 유사성 : 널리 사용되는 Python과 유사하여 학습 곡선을 줄이고 사용자에게 명확한 의미를 제공합니다.

시작하기

  • 플레이그라운드 에서 Starlark를 체험하고 코드 예제를 실습해보세요.
  • "A Practical Introduction to the Starlark Language"를 읽어보세요.
  • Go와 Rust에서의 Starlark 구현을 활용해보세요.

참고 자료

  • A Practical Introduction to the Starlark Language
  • Starlark Official Documentation (Bazel/build)
  • Starlark Implementation in Go and Rust