[제언] 러스트(Rust)가 왜 '인생 낭비'이자 '공학적 혹세무민'인가

최근 개발 씬에서 러스트가 C/C++을 대체할 혁신인 양 떠들어대는 꼴을 보면 참으로 개탄스럽습니다. 러스트의 실체를 공학적 상충 관계와 생태계의 이기주의 관점에서 낱낱이 파헤쳐 드립니다. 결론부터 말하자면, 러스트는 인생 낭비입니다.

1. '언어적 자가격리' 수준의 최악의 상호 운용성

러스트 빠돌이들은 러스트가 모든 언어를 대체할 거라 믿지만, 현실은 다른 언어들과의 협업이 가장 어려운 고립된 섬입니다.

  • 바인딩 지옥: C/C++ 라이브러리를 가져다 쓰려면 러스트의 소유권(Ownership)과 빌림 검사기(Borrow Checker)라는 감옥 시스템에 맞춰 바인딩을 짜야 합니다. Java의 JNI나 Python의 FFI와는 비교도 안 되는 '헬진창' 난이도가 펼쳐집니다. 
  • 기술적 이기주의: 타 언어에서 러스트로 만든 걸 갖다 쓰기는 더 어렵습니다. 러스트 커뮤니티는 보편적인 epoll, kqueue 대신 자기들만의 표준인 tokio 런타임에 종속된 코드를 짭니다. 결국 러스트로 짠 건 러스트 안에서만 돌려야 하는 '폐쇄적 이코노미'에 갇히게 됩니다.
2. RIIR(Rewrite It In Rust): 보안이라는 대의명분 뒤에 숨은 욕심

지난 5년간 깃허브(GitHub) 등지에서 벌어진 RIIR(다시 러스트로 짜라) 운동은 공학적 실리가 아닌 러스트 이기주의자들의 선동이었습니다.

  • 염치없는 포교: 멀쩡히 잘 돌아가는 C/C++ 프로젝트 주인장들에게 보안을 핑계로 러스트 재작성을 강요합니다. 이는 기존 개발자들에게 러스트의 난해한 유지보수 책임을 떠넘기는 파렴치한 행위입니다. 
  • 글로벌 안티 양성: 이러한 오만한 행태는 전 세계적인 '러스트 안티'를 만들어냈습니다. 공학은 조화와 실리인데, 러스트는 '천상천하 유아독존'의 교리를 강요하다가 고립을 자초하고 있습니다.
3. FreeBSD 진영이 러스트 도입을 거부한 이유 (실증적 사례)

FreeBSD 메일링 리스트에서 나온 선배님들의 고백을 보십시오. 그들은 득과 실을 냉정하게 분석했습니다.

  • 득보다 실이 크다: 러스트 도입 시 얻는 메모리 안전성이라는 '한 줌의 득'에 비해, 복잡한 툴체인 유지보수, 극악의 컴파일 속도, 표준 스펙의 부재라는 '산더미 같은 실'이 훨씬 큽니다. 
  • 공학적 판단: 결국 FreeBSD는 러스트 도입에 신중을 기하기로 했습니다. 이는 러스트가 실제 거대 시스템 운영 환경에서는 비효율적인 도구임을 증명하는 사례입니다.
4. 21세기에 OOP도 못 하는 '설계 결함' 언어

러스트는 OOP(객체지향)를 지원하지 않습니다. 빠돌이들은 상속은 구시대 유물이라며 정신 승리하지만, 진실은 소유권 모델 때문에 OOP 기능을 구현하고 싶어도 못 하는 설계적 결함일 뿐입니다. 

  • 타 언어 다 되는 걸 못 하면서 이게 더 진보했다고 우기는 건 곡학아세(曲學阿世)의 전형입니다.
  • 국제 표준(ISO)조차 없고 구현체가 곧 스펙인 고무줄 언어를 어떻게 믿고 인생을 맡깁니까?
결론: 도구는 도구일 뿐, 종교가 아니다

러스트 할 바에 차라리 Ada를 하십시오. Ada는 국제 표준에 근거하여 훨씬 우아하게 안전성과 OOP를 모두 챙겼습니다. (물론 Ada도 추천하진 않습니다만, 러스트보단 낫습니다.)

가장 현명한 길은 C/C++로 기본기를 닦고 실무를 하는 것입니다. 러스트라는 혹세무민의 교리에 빠져 컴파일러에 사람의 생각을 끼워 맞추는 정신병적 강박에 시달리지 마십시오.

러스트는 인생 낭비입니다.