Quali linguaggi di programmazione sono usati in Twitter?
Risposta originale dal 2014:
Sembra che potrebbe essere il momento di un aggiornamento qui.
Twitter è stato originariamente costruito come un'applicazione Ruby on Rails. Nel corso del tempo, ci siamo lentamente allontanati da questo e la maggior parte dei servizi all'interno di Twitter sono vicini o completamente fatti con la transizione. Tuttavia, ci sono ancora alcuni servizi che stanno usando rubino in modo estensivo.
Tra i servizi che si sono allontanati da rails, quasi tutti stanno usando Scala anche se c'è qualche uso di Java. Ho sentito parlare di usare C++ in posti dove la performance è estremamente importante, ma non sono sicuro che sia stato ancora implementato in produzione.
Java e Objective-C sono, ovviamente, usati dai team Android e iOS, rispettivamente. Non lavoro nel team iOS e non ho guardato la loro base di codice, quindi non posso commentare se c'è stato o meno qualcuno che ha cercato di passare a Swift.
Sul lato degli strumenti interni, Python è diventato molto più comune, anche se ci sono ancora molti strumenti e framework di test scritti in Ruby, e, naturalmente, ci sono molti script bash.
Infine, ci sarà sempre molto Javascript (per il prossimo futuro comunque).
Modifica (ottobre 2016): È tempo di un altro aggiornamento. La "Monorail" (l'enorme app monolitica su rotaie che eseguiva quasi tutta l'infra di Twitter) è stata ufficialmente dismessa l'anno scorso. Ora stiamo usando Swift nella nostra app per iOS, anche se non molto estensivamente, e credo che stiamo trattenendo l'aggiunta di qualsiasi nuovo codice Swift fino a quando Swift 3.0 diventa più stabile. Stiamo ancora usando Java su Android e Scala sul back end. Il sito web mobile è ora in esecuzione su Node.js con React.
Modifica (agosto 2017): Non lavoro più a Twitter, ma proprio prima di lasciare un paio di mesi fa, abbiamo iniziato a usare Kotlin nel codebase Android. All'epoca veniva usato solo per i test unitari, ma il piano era di iniziare a usarlo presto in produzione. Spero che questo sia ancora il piano :)
So anche che il team iOS ha usato Swift molto più estesamente (anche se con successo misto).