ReScript

FEConf2022 발표에서 인상 깊었던 발표 중 하나가 'ReScript 같이해요' 발표인데요. 그린 랩스라는 회사에서 이미 사용 중이라고 해서 꽤나 놀랐습니다. 어떤 언어길래 요즘 대세인 TypeScript가 아닌 ReScript를 사용하고 있을까요? ReScript는 React를 만든 개발자가 만든 언어 Reason + BuckleScript 컴파일러로 만들어진 OCaml이라는 강력한 타입 시스템을 지닌 함수형 프로그래밍 언어입니다. ReScript는 JavaScript의 기능 중 특별히 선별된 기능만 다룹니다. 따라서 JavaScript에 새로운 문법이 추가되더라도, 지원 여부를 결정할 수 있고 이는 컴파일러의 복잡성을 낮게 유지할 수 있는 기반이 되기 때문에 컴파일러 속도가 빠를 수밖에 없습니다. 반면에 TypeScript는 JavaScript의 Superset 을 지향하기 때문에 JavaScript에 문법이 추가되면 TypeScript는 새로운 문법을 지원해야만 하기 때문에 컴파일러가 점점 복잡해지면서 느려집니다. (이론상의 얘기이고 엄청 느려질것 같지는 않습니다.) 이외에도 import/export를 사용하지 않는 모듈시스템, null / undefined로 인한 에러를 방지하고 프로그래머가 직접 타이핑을 할 필요가 없도록 해줄 정도로 많은 타입 추론을 해주는 힌들러 - 밀러 타입 시스템, 사용하지 않는 코드 제거 및 쉬운 디버깅 등의 장점이 있습니다. 하지만, 아직 보편적인 언어가 아니기 때문에 StackOverflow의 도움을 받기가 힘들고, 높은 진입장벽 및 자바스크립트를 사용하기 위해서는 별도의 바인딩 처리를 해주어야 하는 등의 단점이 있습니다. 언어를 선택할 때는 얼만큼 잘 만들어진 언어 인지도 중요하지만 대중적으로 많이 사용되고 있는지도 중요한 요소 이기 때문에 당장 도입할 필요는 없어 보입니다. 그렇지만 JavaScript 진영에 이러한 생태계가 있고, 앞으로의 이러한 흐름을 TypeScript와 비교해 보며 지켜보는 것도 흥미로울 것 같습니다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 11월 28일 오후 11:52

댓글 0