Con una visione per un futuro migliore, Tesla non solo è diventata l'azienda automobilistica più preziosa mai esistita, ma ha anche superato se stessa come una delle migliori aziende tecnologiche del mondo. Dai veicoli autonomi ai robot con intelligenza artificiale, Tesla ha fatto tutto. Ma quali linguaggi di programmazione hanno aiutato l'organizzazione a creare prodotti così futuristici? Scopriamolo.
Linguaggi di programmazione utilizzati in Tesla
1. C e C++
Negli ultimi anni, c'è stato un afflusso di un gran numero di nuovi linguaggi di programmazione come Elixir, Pony, Julia, ecc., creati per semplificare le attività con il minor numero di codice possibile. Tuttavia, Tesla fa ancora molto affidamento su uno dei linguaggi più fondamentali: C e C++.
“La maggior parte del software in Auto Tesla è C o C++", ha affermato Mehdi Amini, Engineering Manager di Tesla. Uno dei maggiori punti di forza di queste vecchie lingue e probabilmente il motivo della sua sopravvivenza nel tempo è che queste lingue possono funzionare praticamente su qualsiasi tipo di sistema. Attribuendo alla sua vicinanza al sistema operativo, questi di basso livello linguaggi di programmazione sono utilizzati nella maggior parte dei sistemi IoT e embedded e aiutano gli ingegneri a ottimizzare il software.
“Nessun linguaggio di programmazione si è avvicinato al C o al C++ in termini di efficienza. La maggior parte dei moderni linguaggi di programmazione con garbage collector non sono deterministici quando si tratta di gestione della memoria, semplicemente non è adatto a sistemi embedded critici come quelli delle auto Tesla", ha affermato Mehdi. Un'altra importante azienda tecnologica che utilizza ampiamente C e C++ è Nvidia.
2. pitone
Oltre a C e C++, Tesla fa molto affidamento anche sul linguaggio forse più popolare e ampiamente utilizzato; Python. In una serie di tweet, Elon spiega come usano una combinazione di C/C++ e Python per costruire i loro algoritmi:
Il nostro NN è inizialmente in Python per un'iterazione rapida, quindi convertito in codice del driver C++/C/raw metal per la velocità (importante!). Inoltre, sono necessari tonnellate di ingegneri C++/C per il controllo del veicolo e l'intero resto dell'auto. Il background educativo è irrilevante, ma tutti devono superare un test di codifica hardcore.
- Elon Musk (@elonmusk) 3 Febbraio 2020
Questo tweet ha spinto molti sviluppatori a evidenziare le carenze della conversione da Python a C++/C, ma tieni presente che il tweet è solo una spiegazione condensata di un processo ben congegnato e non rende giustizia all'attuale tecniche utilizzate. Soumith Chintala, co-creatore di PyTorch, spiega che molto probabilmente seguono la conversione automatica da Python a C e C++. Elon ha anche sottolineato la loro dipendenza da PyTorch;
PyTorch è il set/libreria di strumenti esterni più utilizzato
- Elon Musk (@elonmusk) 3 Febbraio 2020
PyTorch è una libreria creata per l'apprendimento automatico, la visione artificiale e l'elaborazione del linguaggio naturale. È completamente open source ed è costruito dal laboratorio di ricerca sull'intelligenza artificiale di Facebook.
3. Java e Javascript
Sulla base di un sondaggio condotto da Burning Glass, Java e Javascript sono i prossimi in linea in termini di utilizzo e importanza dei linguaggi in Tesla. Entrambe queste lingue sono ampiamente utilizzate nella creazione di sistemi e app per le loro auto. C++, Python e Java sono i linguaggi richiesti in quasi tutti i posti di lavoro in Tesla. Inoltre, Tesla richiede una forte competenza in Javascript per ruoli che coinvolgono la programmazione front-end. Scopri di più su Jobs at Tesla
4. Altre lingue
Tesla richiede anche l'eccellenza in altri linguaggi di programmazione in base alle funzioni specifiche svolte da ciascuno di essi. Reagire ed Dattiloscritto sono linguaggi basati su Javascript ampiamente utilizzati da Tesla per lo sviluppo front-end. Inoltre, Ruby, CSS e PHP sono richiesti in ruoli che coinvolgono lo sviluppo web. Infine, SQL viene utilizzato su larga scala per la gestione dei database. Tutti questi linguaggi si combinano insieme per costruire i prodotti che ci lasciano a bocca aperta.
Conclusione
Pertanto, nonostante sia una delle principali aziende tecnologiche del mondo, Tesla si affida principalmente ai linguaggi di programmazione della vecchia scuola. Python, C e C++ sono indispensabili se desideri lavorare per aziende come Tesla, SpaceX, Nvidia, Intel, ecc. Tuttavia, Tesla ha più di 300 ingegneri al lavoro con vari set di competenze, che si uniscono per creare complessi reti per far funzionare i loro prodotti. La scelta del linguaggio di programmazione da imparare dovrebbe dipendere interamente dal tipo di funzione che si desidera svolgere. Scegliere saggiamente!
Lascia un Commento