1. c/c++ 관련 의존 라이브러리들이 거의 없어야 함.


c/c++ 관련 라이브러리에 의존시, 바인딩 만들어야 하는데 이게 매우 곤욕임.

왜냐하면 러스트 소유권 모델 및 빌림 검사기 때문에 헬진창이 펼쳐짐.

java jni, python ffi, ruby ffi, ada import 등과는 난이도가 차원이 다름.


2. 타 언어 라이브러리 안 쓰고 러스트 관련 라이브러리들을 사용하는 걸로 한정.


이렇게 해야 그나마 해피함


3. 러스트로 만든 걸 타 언어, 즉 c 언어 바인딩 제공을 포기할 것.


항간에 러스트가 c/c++을 대체할 것이라는 혹세무민 풍습이 있는데

아이너리하게도 러스트로 만들면 c 언어 바인딩 제공이 어려움.

즉, 러스트로 만들 걸 python, ruby, ada 등에서 끌어다 쓰기 어렵다는 말임.

왜 그러할까?

러스트 개발자 빠돌이들은 러스트만의 고유 영역을 구축하길 원하여

보편적 일반적으로 두루 사용하는 epoll, poll, kqueue 등의 멀티 플렉싱을 사용하지 않고

tokio라는 러스트에 한정된 라이브러리를 사실상 표준으로 사용함.

tokio를 활용하여 개발시

타언어에서 러스트로 만든 걸 갖다 쓰는 것이 매우 어렵다고 보시면 됨.


이러한 점이 러스트 확산에 걸림돌이 되는데,

아시다시피


천상천하 러스트 유아독존

러스트 혹세무민

러스트 곡학아세

모든 걸 러스트로 대통합해야 한다는

교리, 행동강령이 러스트 프로그래머 또는 빠돌이들 사이에

유행이라...

ㅎㅎㅎ

결국, 돌고돌아 러스트 쓰면 인생 낭비라는 걸

5년 정도 지나면 깨닫게 됨.

실제로 그러한 고백이 FreeBSD 메일링리스트에 올라와서

러스트 도입에 신중히 생각하라는 선배님의 의견에 따라

FreeBSD 진영에서는 러스트 도입 안 함.

득과 실, 공학적 상충관계 분석하니,

러스트 도입시 실이 많고 득이 적다고 판단함.

내가 누누이 수년 전부터 말한다.

러스트는 인생 낭비다.

개추


러스트 할 바에 차라리 Ada해라.

나는 Ada도 추천하지 않는다.

Ada 할 바에 C/C++ 해라.