What & Why
Reason이 뭔가요?
Reason은 OCaml 에서 제공하는 프로그래밍 언어입니다. Ocaml은 강력한 타입 시스템을 가지고 있으며 JavaScript 또는 C 계열 언어를 사용한 개발자에게 친숙한 문법으로 구성되어 있는 언어입니다.
Note: Reason은 refmt
를 사용하여 OCaml 언어로 변환할 수 있고 변환될 수 있습니다. Reason에서 가능한 것은 모두 OCaml에서도 가능하며 그 반대도 가능합니다.
왜 Reason을 사용하나요?
Reason이 기반으로 하는 강력한 타입 시스템 덕분에 버그가 줄고 코드의 유지보수성을 높이며 구조 변경이나 수정에 자유로울 수 있습니다.
다른 환경들
이미 Reason(그리고 OCaml) 을 사용하는 다양한 환경의 프로젝트들이 있습니다.
- 네이티브 실행 파일: 표준 컴파일러를 사용하여 기본 실행 파일을 시스템에서 직접 빌드하고 실행할 수 있습니다.
- 브라우저: Reason을 브라우저에서 실행할 수 있도록 JavaScript 코드로 컴파일하는 여러 프로젝트가 있습니다.
- ReScript (formerly BuckleScript)
- Js_of_ocaml
어디서부터 시작해야 될까요?
다른 대안들
Reason과 유사한 개념을 공유하는 언어도 있습니다:
- Rust . Reason과 마찬가지로 ML 계열 언어에서 영감을 얻었지만 GC(가비지 콜렉터)를 지원하지 않습니다. Rust는 특히 병렬 처리를 뛰어난 성능으로 지원합니다.
- Elm. ML 계열의 또 다른 훌륭한 언어입니다. 웹 애플리케이션을 만드는 데에 중점을 둡니다. Elm 생태계에서 널리 칭찬을 받는 강연인, Let's Be Mainstream 을 참고하면 좋습니다.
- PureScript. Haskell에서 영감을 받은 언어로 JavaScript로 컴파일됩니다.
- Fable. OCaml과 밀접한 관련이 있는 F# 언어를 기반으로 동작합니다.
- ClojureScript. 단순성을 우선시하는 동적 형식 언어입니다.
- Swift. Apple에서 만든 언어이며 Objective-C와 잘 상호 운용됩니다.
- Haxe. 기본적으로 게임 개발에 초점을 맞춘 언어로, 모든 것으로 컴파일됩니다.