Crystal, Rust, D가 보여주는 프로그래밍 언어의 세 가지 좋은 아이디어
A Few Good Ideas in Programming Languages
Pranoy Dutta가 자신이 좋아하는 프로그래밍 언어 기능 세 가지를 소개한다. Crystal의 flow typing은 변수가 여러 타입을 가질 수 있게 하면서도 컴파일 타임에 타입을 좁혀 동적 언어처럼 느껴지게 한다. Rust의 borrow checking은 데이터 레이스를 컴파일 타임에 정적으로 방지하는 우아한 해법이다. D의 contract programming은 assert, enforce, pre/post-condition, 클래스 invariant를 통해 프로그램 불변 조건을 명확히 표현한다.
The borrow checker는 데이터 레이스 문제에 대한 매우 우아한 해결책이며, 컴파일 타임 검사와 추가 복잡성만을 대가로 지불하는 제로 코스트 추상화다.