Facebook 에서 새로운 서버-사이드 언어로 Rust 를 선정
(engineering.fb.com)- Facebook 에서
지원하는 언어(Supported Language)
의 경우 지속적으로 사용할 수 있는 언어가 되면서 회사차원에서 다양한 지원을 받을 수 있음 (문서에 추가 설명) - 한번 결정 되면 엔지니어링에 많은 영향을 끼치게 됨으로 신중의 신중을 거쳐 선정
- 성능에 민감한 서비스, CLI 도구 개발에서 Rust 의 사용 권장
앗 ㅎㅎ 올리려고 글 요약중이었는데 이미 올라왔네요! 아까우니 댓글로 추가해 둡니다~!
- Meta는 언어 선택을 매우 신중히 결정함
- Hack, C++, Python 에 최근 Rust가 추가 됨
- 성능이 중요한 백엔드에는 C++ 과 Rust
- CLI도 Rust 추천
- 비즈니스 로직과 Stateless 어플리케이션엔 Hack 에코시스템이 가장 높은 수준의 자동화 제공
- 데이터 사이언스 / ML / 인스타그램은 Python
- 특정 유스케이스에서만 Java, Erlang, Haskell, Go 등을 사용
- 이 "Supported" 프로그래밍 언어가 의미하는 것은
- 코드 편집, 디버깅, 빌드, 배포 부터 핵심 라이브러리 및 상호 운용에 대해서 좋은 경험을 제공
- 이 언어를 선택하면 차후에 다른 언어로 바꿀 필요 없음
- 대부분의 경우 신규 프로젝트/서비스에서 이 언어를 선택할 것을 권장
- 언어를 Fully Support 하는 것은 Meta에겐 큰 투자이므로, 다른 "Long tail" 언어들은 "Community Supported"임
- 이런 언어에 대해서는 각 팀이 직접 유지관리하는 부담을 가지게 되며, 신규 개발에는 사용하지 말아야 함(팀이 특별하게 이미 투자를 많이 한게 아니라면)
- "Supported" 언어를 선택하게 된 이유
- 코어 라이브러리 지원에 드는 공수를 줄이기 위해서
- 보안과 개인정보 보호
- 운영상 리스크를 최소화
- 전문성 강화
- 개발자 경험 향상