18 ポイント 投稿者 ragingwind 2022-08-01 | 3件のコメント | WhatsAppで共有
  • Facebookでは、サポート言語(Supported Language) に指定されると、継続的に利用できる言語となり、会社レベルでさまざまな支援を受けられる(文書に追加説明あり)
  • 一度決定されるとエンジニアリングに大きな影響を与えるため、慎重を重ねて選定
  • パフォーマンスに敏感なサービスや、CLIツール開発でRustの利用を推奨

3件のコメント

 
xguru 2022-08-01

あっ、投稿しようと要約を書いていたところ、もう上がっていましたね! もったいないのでコメントで追記しておきます〜!

  • Metaは言語選定を非常に慎重に行っている
  • Hack、C++、Pythonに最近Rustが追加された
    • パフォーマンスが重要なバックエンドにはC++とRust
    • CLIにもRustを推奨
    • ビジネスロジックとステートレスなアプリケーションには、Hackエコシステムが最も高度な自動化を提供
    • データサイエンス / ML / InstagramはPython
    • 特定のユースケースでのみJava、Erlang、Haskell、Goなどを使用
  • この"Supported"なプログラミング言語が意味するものは
    • コード編集、デバッグ、ビルド、デプロイからコアライブラリおよび相互運用まで、良い体験を提供する
    • この言語を選べば、後から別の言語に変える必要がない
    • ほとんどの場合、新規プロジェクト/サービスではこの言語を選ぶことを推奨
    • 言語をFully SupportすることはMetaにとって大きな投資であるため、その他の"Long tail"言語は"Community Supported"となる
      • こうした言語については、各チームが直接メンテナンスする負担を負うことになり、新規開発では使うべきではない(チームが特別にすでに多くの投資をしている場合を除く)
  • "Supported"言語を選ぶ理由
    • コアライブラリ支援にかかる工数を減らすため
    • セキュリティとプライバシー保護
    • 運用上のリスクを最小化
    • 専門性の強化
    • 開発者体験の向上
 
tpdns90321 2022-08-02

ウェブサービス企業であり、Reactの生みの親であるFacebookに、TSあるいはJSがないのは意外ですね。

 
cwyang 2022-08-02

サーバーサイド言語ですね :-)