Sa vizijom za bolju budućnost, Tesla ne samo da je postala najvrednija automobilska kompanija koja je ikada postojala, već je i postala jedna od najboljih tehnoloških kompanija u svijetu. Od autonomnih vozila do AI robota, Tesla je uradio sve. Ali koji su programski jezici pomogli organizaciji da stvori takve futurističke proizvode? Saznajmo.
Programski jezici koji se koriste u Tesli
1. C & C++
Poslednjih godina došlo je do priliva 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 u velikoj mjeri 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 vjerovatno razlog njihovog opstanka kroz vrijeme je to što ovi jezici mogu raditi na skoro svakoj vrsti sistema. Pripisujući svoju bliskost OS-u, ovi su niskog nivoa programski jezici se koriste u većini IoT i ugrađenih sistema i pomažu inženjerima da optimizuju softver.
„Nijedan programski jezik se nije približio C ili C++ kada je u pitanju efikasnost. Većina modernih programskih jezika sa sakupljačima smeća su nedeterministički kada je u pitanju upravljanje memorijom, to jednostavno nije pogodno za kritične ugrađene sisteme poput onih u Tesla automobilima”, rekao je Mehdi. Još jedna velika tehnološka kompanija koja intenzivno koristi C & C++ je Nvidia.
2.Python
Pored C & C++, Tesla se takođe u velikoj meri oslanja na verovatno najpopularniji i najčešće korišćeni jezik; piton. U nizu tvitova, Elon objašnjava kako koriste kombinaciju C/C++ i Python-a za izgradnju svojih algoritama:
Naš NN je u početku u Pythonu za brzu iteraciju, a zatim je konvertovan u C++/C/raw metal kod drajvera za brzinu (važno!). Također, tone C++/C inženjera potrebnih za kontrolu vozila i cjelokupnog ostatka automobila. Obrazovna pozadina nije bitna, ali svi moraju položiti hardcore test kodiranja.
- Elon Musk (@elonmusk) Februar 3, 2020
Ovaj tvit je podstakao mnoge programere da istaknu nedostatke konverzije sa Python-a na C++/C, ali imajmo na umu da je tvit samo sažeto objašnjenje dobro osmišljenog procesa i ne odražava stvarni korištene tehnike. Soumith Chintala, ko-kreator PyTorch-a, objašnjava da oni najvjerovatnije prate automatsku konverziju iz Pythona u C & C++. Elon je takođe istakao njihovu zavisnost od PyTorcha;
PyTorch je najčešće korišteni vanjski skup alata/biblioteka
- Elon Musk (@elonmusk) Februar 3, 2020
PyTorch je biblioteka napravljena za mašinsko učenje, kompjuterski vid i obradu prirodnog jezika. Potpuno je otvorenog koda i napravljen je od strane Facebookove AI istraživačke laboratorije.
3. Java & Javascript
Na osnovu ankete koju je sproveo Burning Glass, Java i Javascript su sledeći po upotrebi i važnosti za jezike u Tesli. Oba ova jezika se intenzivno koriste u izgradnji sistema i aplikacija za njihove automobile. C++, Python i Java su jezici potrebni za gotovo sva radna mjesta u Tesli. Osim toga, Tesla zahtijeva jako 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 osnovu specifičnih funkcija koje obavlja svaki od njih. reagovati i Strojopis su jezici zasnovani na Javascriptu koje Tesla intenzivno koristi za front-end razvoj. Štaviš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 ti jezici se kombinuju da bi napravili proizvode koji nas ostavljaju u čudu.
zaključak
Stoga, uprkos tome što je jedna od najvećih tehnoloških kompanija u svijetu, Tesla se prvenstveno oslanja na programske jezike stare škole. Python, C & C++ su obavezni ako želite da radite za kompanije kao što su Tesla, SpaceX, Nvidia, Intel, itd. Međutim, Tesla ima više od 300 inženjera na poslu sa različitim skupovima vještina, od kojih se svi spajaju kako bi stvorili 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. Birajte mudro!
Ostavite odgovor