18P by ragingwind 2022-08-01 | favorite | 댓글 3개
  • 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" 언어를 선택하게 된 이유
  • 코어 라이브러리 지원에 드는 공수를 줄이기 위해서
  • 보안과 개인정보 보호
  • 운영상 리스크를 최소화
  • 전문성 강화
  • 개발자 경험 향상

웹서비스 회사, React 창시자인 페북이 TS 혹은 JS가 없다는게 이외네요.

서버사이드언어에요:-)