Z vizijo za boljšo prihodnost Tesla ni postala le najdragocenejše avtomobilsko podjetje, ki je kdaj obstajalo, ampak se je tudi presegla kot eno najboljših tehnoloških podjetij na svetu. Od avtonomnih vozil do robotov AI, je Tesla naredila vse. Toda kateri programski jeziki so organizaciji pomagali ustvariti takšne futuristične izdelke? Pa ugotovimo.
Programski jeziki, ki se uporabljajo pri Tesli
1. C & C++
V zadnjih letih je prišlo do pritoka velikega števila novih programskih jezikov, kot so Elixir, Pony, Julia itd., ki so bili zgrajeni tako, da olajšajo naloge s čim manj kode. Vendar se Tesla še vedno močno zanaša na enega najbolj temeljnih jezikov: C & C++.
»Večina programske opreme v Tesla avtomobili je C ali C++,« je povedal Mehdi Amini, vodja inženiringa pri Tesli. Ena največjih prednosti med temi starimi jeziki in verjetno razlog za njihovo preživetje skozi čas je, da lahko ti jeziki delujejo v skoraj vseh sistemih. Te nizke ravni pripisujejo svoji bližini OS programskih jezikov se uporabljajo v večini interneta stvari in vgrajenih sistemov ter pomagajo inženirjem pri optimizaciji programske opreme.
»Noben programski jezik se po učinkovitosti ni približal C ali C++. Večina sodobnih programskih jezikov z zbiralniki smeti je nedeterminističnih, ko gre za upravljanje pomnilnika, kar preprosto ni primerno za kritične vgrajene sisteme, kot so tisti v avtomobilih Tesla,« je dejal Mehdi. Drugo večje tehnološko podjetje, ki obsežno uporablja C & C++, je Nvidia.
2. Python
Poleg C & C++ se Tesla močno zanaša tudi na morda najbolj priljubljen in pogosto uporabljen jezik; Python. V seriji tvitov Elon pojasnjuje, kako uporabljajo kombinacijo C/C++ in Pythona za gradnjo svojih algoritmov:
Naš NN je sprva v Pythonu za hitro ponovitev, nato pa je za hitrost pretvorjen v C++/C/raw metal kodo gonilnika (pomembno!). Prav tako so potrebni številni inženirji C++/C za nadzor vozila in celotnega ostalega avtomobila. Izobrazbeno ozadje je nepomembno, vendar morajo vsi opraviti preizkus hardcore kodiranja.
- Elon Musk (@elonmusk) Februar 3, 2020
Ta tvit je spodbudil številne razvijalce, da so poudarili pomanjkljivosti pri pretvorbi iz Pythona v C++/C, vendar ne pozabite, da je tvit le zgoščena razlaga dobro premišljenega postopka in ne ustreza dejanskim uporabljene tehnike. Soumith Chintala, soustvarjalec PyTorch, pojasnjuje, da najverjetneje sledijo samodejni pretvorbi iz Pythona v C & C++. Elon je opozoril tudi na njihovo odvisnost od PyTorcha;
PyTorch je najpogosteje uporabljen zunanji nabor/knjižnica orodij
- Elon Musk (@elonmusk) Februar 3, 2020
PyTorch je knjižnica, zgrajena za strojno učenje, računalniški vid in obdelavo naravnega jezika. Je popolnoma odprtokoden in ga je izdelal Facebookov raziskovalni laboratorij umetne inteligence.
3. Java & Javascript
Glede na raziskavo, ki jo je izvedel Burning Glass, sta Java in Javascript naslednja po uporabi in pomenu za jezike pri Tesli. Oba jezika se močno uporabljata pri gradnji sistemov in aplikacij za njihove avtomobile. C++, Python in Java so jeziki, potrebni za skoraj vsa delovna mesta v Tesli. Poleg tega Tesla zahteva močno znanje Javascripta za vloge, ki vključujejo front-end programiranje. Izvedite več o delovnih mestih pri Tesli tukaj.
4. Drugi jeziki
Tesla zahteva tudi odličnost v drugih programskih jezikih na podlagi posebnih funkcij, ki jih izvaja vsak od njih. Reagirajo in Tipkovnica so jeziki, ki temeljijo na Javascriptu, ki jih Tesla v veliki meri uporablja za razvoj front-end. Poleg tega Ruby, CSS in PHP so potrebni v vlogah, ki vključujejo spletni razvoj. Nazadnje, SQL se v velikem obsegu uporablja za upravljanje baz podatkov. Vsi ti jeziki se združujejo in ustvarjajo izdelke, ki nas puščajo v strahu.
zaključek
Tako se Tesla kljub temu, da je eno največjih tehnoloških podjetij na svetu, zanaša predvsem na starošolske programske jezike. Python, C & C++ so nujni, če želite delati za podjetja, kot so Tesla, SpaceX, Nvidia, Intel itd. Vendar ima Tesla pri delu več kot 300 inženirjev z različnimi nabori veščin, ki se vsi združijo, da ustvarijo kompleksne omrežja za izvajanje svojih izdelkov. Vaša izbira, katerega programskega jezika se boste učili, bi morala biti v celoti odvisna od vrste funkcije, ki jo želite izvajati. Izberite pametno!
Pustite Odgovori