12P by mastotron 2023-09-08 | favorite | 댓글 7개

Ruby on Rails, Basecamp로 유명한 37signals의 공동창립자 겸 CTO Daniel Heinemeier Hansson이 현재 개발중인 Turbo 웹 프레임워크에서 TypeScript 지원을 제거하겠다고 밝혔습니다.

주된 이유로는 타입 선언이 코드를 오염시키고, 타입을 선언하고 TS 컴파일러가 끼어드는 일련의 과정이 즐겁지 않았다는 점을 꼽았습니다.

TypeScript에서 JavaScript로 전환한 일은 전례가 없는 일로, 프로그래머 커뮤니티에서 큰 파장을 일으키고 있습니다.

37signals의 제품이기도 하지만 외부 기여를 받는 오픈 소스 프로젝트임에도 불구하고 외부 기여자들과의 소통 없이 TypeScript를 제거하는 PR이 제출되고 2시간만에 기습 머지되었다는 점도 논란이 되고 있습니다.

javascript는 prototype 기반 언어이기 때문에 이 철학을 무시하고, 나아가는 Typescript를 배제하려는 것이 아닌지....
https://medium.com/@limsungmook/…

어제에 이어 살짝 어그로성 포스팅이 올라왔네요.
https://world.hey.com/dhh/…

누군지 모르고 있었는데 RoR 만든 사람이라고 하니 TypeScript를 싫어할 법도 하다라는 생각이 들긴 했습니다.
RoR를 깊게 보진 않았지만, Open Class 개념을 생각하면 타입과 어울리지 않다고 생각되거든요

TypeScript가 메인인 개인 경험으로 Java(Kotlin)에서 일일이 타입클래스 만들어주는게 무지 답답했는데, 저 사람에게는 TypeScript도 그랬나보다 정도의 생각이..

그럼에도 이 일련의 과정은 도저히 납득되진 않네요

음... PR 2개를 보니까 오픈 소스 프로젝트라고 보기 힘들 정도의 결정이네요.
저장소의 소유자가 논의 없이 결정하고 기존의 저장소에서 하던 PR 절차를 무시하고 바로 병합해 버렸으니...

보기 좋지는 않네요.

충분한 설득 절차가 있었으면 모를까, 오픈 소스 프로젝트로서 신뢰성을 버리는 행위라 생각합니다.
Turbo의 타입에 의존하는 다른 프로젝트들 입장에선 업데이트했더니 하루아침에 모든 타입이 깨져버리는 문제가 생기는 거니까요.

https://devclass.com/2023/05/…
최근에 Svelte가 TypeScript에서 JavaScript(+JSDoc)로 넘어간 적이 있죠.

svelte는 jsdoc 타입 체킹 기능을 쓰는데 그게 ts에 의존하는 거라서 타입 안정성 자체를 포기한 건 아닙니다. 그리고 타입 정의도 제공하고 있고요. turbo처럼 jsdoc도 d.ts도 없이 전부 쓰레기통애 보낸 것과는 상황이 다른 것 같습니다.

아 네네 그렇죠. 안그래도 저기 PR 링크 보니까 관련 언급이 많더라고요.