러스트 파묘 3: 'Tokio'라는 거대한 감옥, 그들만의 폐쇄된 왕국
러스트가 C/C++을 대체한다고요? 천만의 말씀입니다. 러스트는 지금 'Tokio'라는 특정 라이브러리에 언어 전체의 운명을 저당 잡힌 고립된 섬이 되어가고 있습니다. 왜 tokio가 러스트의 축복이 아닌 '저주'인지 파헤쳐 봅니다.
1. 런타임 전염병:
"하나를 쓰면 전부 바꿔야 한다"
C/C++이나 Ada에서 비동기를 다룰 때는 OS가 제공하는 표준적인 epoll, kqueue, iocp를 직접 호출합니다. 하지만 러스트는 다릅니다.
바이러스 같은 종속성:
reqwest 하나 쓰려고 하면 tokio가 따라옵니다. tokio가 들어오는 순간, 프로젝트의 모든 비동기 로직은 tokio의 지배를 받아야 합니다.
생태계의 파편화:
async-std나 smol 같은 다른 런타임과는 호환조차 안 됩니다. 이게 무슨 '시스템 언어'입니까? 특정 업체가 만든 '전용 OS' 위에서 노는 것과 다를 바 없습니다.
2. FFI의 지옥:
"성벽 밖으로 나갈 수 없는 코드"
러스트 이기주의자들이 가장 숨기고 싶어 하는 진실이 바로 타 언어와의 상호 운용성입니다.
내보내기 불가능:
tokio 기반으로 짠 멋진 라이브러리를 Python, Go, C에서 끌어다 쓰고 싶다고요? tokio 런타임을 타 언어의 이벤트 루프와 동기화시키는 건 공학적으로 '지옥의 서커스'에 가깝습니다.
고립주의:
결국 러스트로 만든 건 러스트 안에서만 써야 합니다. 전 세계 수만 개의 C 라이브러리와 유기적으로 결합되는 C++의 유연성과 비교하면, 러스트는 '자발적 자가격리' 중인 언어일 뿐입니다.
3. 표준 없는 왕국:
"구현체가 곧 법이다"
러스트에는 아직도 표준 비동기 런타임이 없습니다.
고무줄 스펙:
언어 차원의 표준 스펙이 없으니, tokio 제작진이 버전을 올리거나 설계를 바꾸면 생태계 전체가 휘청거립니다.
혹세무민의 극치:
이런 불안정한 구조를 두고 "혁신적"이라고 떠드는 것은 공학적 양심을 속이는 일입니다. 표준 스펙에 목숨 거는 Ada나 C 진영에서 보면, 이건 그냥 '동아리 수준의 아나키즘'입니다.
결론: "세상은 러스트를 중심으로 돌지 않는다"
비동기 처리가 필요하면 Go나 Erlang처럼 언어 차원에서 완벽하게 지원하는 언어를 쓰면 됩니다. 성능이 필요하면 **C/C++**로 OS 원시 API를 쓰면 되고요.
표준도 없고, 타 언어와 대화도 못 하며, 오직 tokio라는 감옥 안에서만 행복한 러스트. 인생은 짧습니다. 이 고립된 섬에서 Future 객체랑 씨름하며 인생 낭비하지 마십시오.
그냥 망상속에 사는군요.러스트로 작성된 파이썬 라이브러리도 있고 c abi통해 타 언어와 상호운용 가능합니다. 저능한 너의 한계를 언어의 한계라고 착각하는군요. 단순히 지식이 모자란게 아니라 지적 능력이 초등학생 수준에 머무른게 아닌가 싶습니다. - dc App
표준도 없고, 타 언어와 대화도 못 하며, 오직 tokio라는 감옥 안에서만 행복한 러스트. 인생은 짧습니다. 이 고립된 섬에서 Future 객체랑 씨름하며 인생 낭비하지 마십시오.
@나르시 네 뭐 혼자 망상속에서 계속 우기십쇼. 타 언어와 연동 잘 됩니다. - dc App
tokio는 연동 안 됩니다. 님이 개발을 해보지 않으셔서 확증편향으로 박박 우기시는거 같은데, 저는 러스트 언어에 대해 광범위한 조사를 수행했습니다. guiyom 개발 전에 러스트 언어 적절성 검토를 거쳤었거든요.
몇몇 러스트 라이브러리의 사용성 검토를 했었는데 tokio 때문에 c 바인딩 작성이 매우 난해하여 러스트 라이브러리 활용을 포기했습니다. 이는 실제 실무적 현실입니다.
저는 경기도 오산에 사는 김호동이며 nimf, guiyom 개발자이자, 특허 출원자입니다. 사진은 이곳에 있습니다. https://nimfsoft.art/ko/about/
지속적인 악플 및 사이버 스토킹 및, 업무 방해시 형사 고소의 대상이 될 수 있음을 분명히 알립니다.
저의 전화번호는 010 2423 6463 입니다. 감사합니다.
@나르시 엥 비동기 기능을 c에다 붙이려 했다? 지식이 부족한 정도가 항상 상상을 뛰어넘으시는군요. 너 같은건 설명해주는것도 아까워서 더 말 안하겠습니다 ㅅㄱ - dc App
libevent, libuv, clair 등의 비동기 이벤트 루프는 다양한 언어에서 사용하능하지요. 모욕, 명예훼손, 업무방해, 비방 목적 허위 사실 유포 등을 즉시 중단하시기 바랍니다. 감사합니다.