S vizijom za bolju budućnost, Tesla je ne samo postala najvrjednija automobilska tvrtka koja je ikada postojala, već se i nadmašila kao jedna od najboljih tehnoloških tvrtki na svijetu. Od autonomnih vozila do AI robota, Tesla je napravio sve. Ali koji su programski jezici pomogli organizaciji da stvori takve futurističke proizvode? Hajde da vidimo.
Programski jezici koji se koriste u Tesli
1. C & C++
Posljednjih godina došlo je do priljeva velikog broja novih programskih jezika kao što su Elixir, Pony, Julia itd., napravljenih da olakšaju zadatke sa što manje koda. Međutim, Tesla se još uvijek uvelike oslanja na jedan od najosnovnijih jezika: C & C++.
“Većina softvera u Tesla automobili je C ili C++,” rekao je Mehdi Amini, inženjerski menadžer u Tesli. Jedna od najvećih prednosti među ovim starim jezicima i vjerojatno razlog za njihov opstanak kroz vrijeme je to što ti jezici mogu raditi na gotovo svim vrstama sustava. Pripisujući svojoj bliskosti s OS-om, ove niske razine programski jezici koriste se u većini IoT i ugrađenih sustava i pomažu inženjerima optimizirati softver.
“Nijedan programski jezik nije se približio C ili C++ kada je riječ o učinkovitosti. Većina modernih programskih jezika sa sakupljačima smeća su nedeterministički kada je u pitanju upravljanje memorijom, to jednostavno nije prikladno za kritične ugrađene sustave poput onih u Tesla automobilima”, rekao je Mehdi. Još jedna velika tehnološka tvrtka koja intenzivno koristi C & C++ je Nvidia.
2. piton
Osim C & C++, Tesla se također uvelike oslanja na vjerojatno najpopularniji i najčešće korišteni jezik; Piton. U nizu tweetova, Elon objašnjava kako koriste kombinaciju C/C++ & Pythona za izgradnju svojih algoritama:
Naš NN je u početku u Pythonu za brzu iteraciju, a zatim je konvertiran u C++/C/raw metal kod upravljačkog programa za brzinu (važno!). Također, tone C++/C inženjera potrebnih za kontrolu vozila i cijeli ostatak automobila. Obrazovna pozadina nije bitna, ali svi moraju proći hardcore test kodiranja.
- Elon Musk (@elonmusk) Veljače 3, 2020
Ovaj tweet potaknuo je mnoge programere da istaknu nedostatke pretvorbe s Pythona na C++/C, ali imajmo na umu da je tweet samo sažeto objašnjenje dobro promišljenog procesa i ne odgovara stvarnom korištene tehnike. Soumith Chintala, sukreator PyTorcha, objašnjava da najvjerojatnije slijede automatsku konverziju s Pythona na C & C++. Elon je također istaknuo njihovu ovisnost o PyTorchu;
PyTorch je najčešće korišteni vanjski skup alata/knjižnica
- Elon Musk (@elonmusk) Veljače 3, 2020
PyTorch je knjižnica izgrađena za strojno učenje, računalni vid i obradu prirodnog jezika. Potpuno je otvorenog koda i izgrađen je od strane Facebookovog istraživačkog laboratorija AI.
3. Java & Javascript
Na temelju ankete koju je proveo Burning Glass, Java i Javascript su sljedeći po upotrebi i važnosti za jezike u Tesli. Oba ova jezika se uvelike koriste u izgradnji sustava i aplikacija za njihove automobile. C++, Python i Java jezici su potrebni na gotovo svim radnim mjestima u Tesli. Osim toga, Tesla zahtijeva snažno poznavanje Javascripta za uloge koje uključuju front-end programiranje. Saznajte više o poslovima u Tesli ovdje.
4. Drugi jezici
Tesla također zahtijeva izvrsnost u drugim programskim jezicima na temelju specifičnih funkcija koje svaki od njih obavlja. Reagovati i kucana kopija su jezici temeljeni na Javascriptu koje Tesla intenzivno koristi za front-end razvoj. Štoviše, Rubin, CSS i PHP potrebni su u ulogama koje uključuju web razvoj. Konačno, SQL se u velikoj mjeri koristi za upravljanje bazom podataka. Svi takvi jezici zajedno stvaraju proizvode što nas ostavlja u čudu.
Zaključak
Dakle, unatoč tome što je jedna od najvećih tehnoloških tvrtki u svijetu, Tesla se prvenstveno oslanja na programerske jezike stare škole. Python, C & C++ su neophodni ako želite raditi za tvrtke kao što su Tesla, SpaceX, Nvidia, Intel, itd. Međutim, Tesla ima više od 300 inženjera na poslu s različitim skupovima vještina, od kojih se sve skupa stvaraju složene mreže za pokretanje svojih proizvoda. Vaš izbor programskog jezika za učenje trebao bi u potpunosti ovisiti o vrsti funkcije koju želite obavljati. Biraj mudro!
Ostavi odgovor