(번역) JS0/JSSugar 제안에 대한 생각
Medium
최근 JavaScript의 표준을 만드는 TC39에서 Shu-yu Guo가 자바스크립트 언어의 발전을 원활하게 하기 위해서 언어를 JS0과 JSSugar 두가지로 나누자는 제안을 정리하고 제안한 문서를 한국어로 번역한 글입니다. 원 문서도 번역되어 있어서 편하게 읽었습니다.
언어는 두가지로 나눈다니 놀랄수 있지만 그리 크게 영향 받을 일은 아니긴하고 JS0과 JSSugar가 이름이 좀 촌스럽긴 하지만 초기 제안이라 받아들여지더라고 이름은 바뀔 가능성이 얼마든지 있습니다.
문제의식에는 어느정도는 공감이 되었는데 요즘 많은 개발 상황을 보면 JavaScript로도 어플리케이션을 작성하지만 TypeScript로도 개발하고 더 최신 언어 기능을 쓰기 위해서 개발한 뒤에 Babel 등의 컴파일러를 써서 다시 JavaScript로 컴파일하고 이를 배포하는 경우가 일반적입니다.
이렇게 생성된 JavaScript는 보통 브라우저나 node.js같은 런타임에서 실행이 되는데 여기서는 실제 사용자가 사용하게 되므로 최신 기능을 도입하기도 하지만 보안과 성능 등 신경 쓸 부분이 많이 존재합니다. 그렇기 때문에 TC39에서는 JavaScript의 새 기능을 스테이지를 나누어서 도입 단계를 관리하지만 새로운 기능을 계속 추가하고 싶은 언어쪽 상황에 비해서 브라우저쪽은 아무래도 신경쓸게 많아서 어느정도 보수적인 입장을 취할 수밖에 없게 되어 양쪽의 입장이 충돌하게 됩니다.
그래서 이 제안은 JS0은 브라우저 등에서 사용하는 언어가 되고 여기에는 안정적이라고 생각하는 기능이 포함되기 때문에 브라우저는 어느정도 확인된 기능만 천천히 도입할 수 있게 되고 사실 컴파일러를 안쓰고 자바스크립트로 개발한다면 JS0으로 개발한다고 생각할 수 있습니다.
대신 Babel같은 컴파일러 입장에서는 아직 브라우저에서 구현되지 않은 새로운 기능도 적극적으로 지원하면서 이를 JavaScript로 컴파일하게 되므로 여기는 JSSugar로 정의해서 새로운 기능을 빠르게 도입하면서 컴파일러가 JS0으로 컴파일하게 하자는 제안합니다.
어떤 면에서 보면 지금상황과 크게 다르지 않으면서도 명확하게 구분되는 느낌도 있습니다.
https://medium.com/@jiwoochoics/%EB%B2%88%EC%97%AD-js0-jssugar-%EC%A0%9C%EC%95%88%EC%97%90-%EB%8C%80%ED%95%9C-%EC%83%9D%EA%B0%81-172d2e5203b5
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 12월 4일 오후 5:26
스
... 더 보기퇴근길 지하철에서 중년 사내와 20대 후반의 한 젊은이가 필자의 앞에 나란히 앉아 있었다. “자리가 사람을 만드는 법이지.” 중년 사내가 젊은이에게 건네는 말 한마디가 내 귀에 들려왔다. 그 순간 나는 묘한 추억에 빠져들었다.
... 더 보기제가 한국에서 직장 생활을 시작하고 가장 먼저 배운 것은 아이러니하게도 야근이었습니다. 신입이었던 제게 야근은 선택의 문제가 아니었거든요. 선배들에게 야근은 너무나 당연한 루틴이었고, 저녁 5시가 되면 "퇴근 안 해?"가 아니라 "저녁 뭐 먹을까?"라는 질문을 던졌습니다. 누가 정해놓은 것처럼 부장님이 퇴근해야 과장님이, 과장님이 퇴근해야 대리님이, 대리님이 퇴근해야 비로서 저 같은 신입도 퇴근 생각을 할 수 있었습니다.
... 더 보기1. 당신 자신을 믿어라. 결코 모방하지 마라.