18 Punkte von ragingwind 2022-08-01 | 3 Kommentare | Auf WhatsApp teilen
  • Bei Facebook werden unterstützte Sprachen (Supported Language) als Sprachen eingestuft, die dauerhaft genutzt werden können und auf Unternehmensebene vielfältige Unterstützung erhalten (weitere Erläuterungen im Dokument)
  • Sobald eine Entscheidung getroffen ist, hat sie großen Einfluss auf das Engineering, daher erfolgt die Auswahl mit äußerster Sorgfalt
  • Der Einsatz von Rust wird für performancekritische Services und die Entwicklung von CLI-Tools empfohlen

3 Kommentare

 
xguru 2022-08-01

Oh, haha, ich war gerade dabei, eine Zusammenfassung zum Posten zu schreiben, aber er ist schon veröffentlicht worden! Wäre schade drum, deshalb ergänze ich es als Kommentar~!

  • Meta entscheidet bei der Sprachauswahl sehr sorgfältig
  • Zu Hack, C++ und Python ist vor Kurzem auch Rust hinzugekommen
    • Für performancekritische Backends: C++ und Rust
    • Auch für CLI wird Rust empfohlen
    • Für Business-Logik und zustandslose Anwendungen bietet das Hack-Ökosystem den höchsten Grad an Automatisierung
    • Für Data Science / ML / Instagram: Python
    • Java, Erlang, Haskell, Go usw. werden nur in bestimmten Use Cases eingesetzt
  • Was diese "Supported"-Programmiersprachen bedeuten
    • Sie bieten eine gute Erfahrung von Code-Editing, Debugging, Build und Deployment bis hin zu Kernbibliotheken und Interoperabilität
    • Wer diese Sprache wählt, muss später nicht auf eine andere Sprache wechseln
    • In den meisten Fällen wird empfohlen, diese Sprache für neue Projekte/Services zu wählen
    • Eine Sprache vollständig zu unterstützen ist für Meta eine große Investition, daher sind andere "Long tail"-Sprachen "Community Supported"
      • Bei solchen Sprachen tragen die jeweiligen Teams die Last der direkten Wartung selbst, und für Neuentwicklung sollten sie nicht verwendet werden (außer das Team hat bereits besonders viel investiert)
  • Gründe für die Wahl einer "Supported"-Sprache
    • Um den Aufwand für die Unterstützung von Kernbibliotheken zu verringern
    • Sicherheit und Datenschutz
    • Operative Risiken minimieren
    • Fachkompetenz stärken
    • Die Developer Experience verbessern
 
tpdns90321 2022-08-02

Erstaunlich, dass ein Webservice-Unternehmen und der Erfinder von React weder TS noch JS gewählt hat.

 
cwyang 2022-08-02

Es ist eine serverseitige Sprache :-)