S víziou lepšej budúcnosti sa Tesla nielen stala najhodnotnejšou automobilovou spoločnosťou, aká kedy existovala, ale prekonala sa aj ako jedna z top technologických spoločností na svete. Tesla urobila všetko, od autonómnych vozidiel po AI roboty. Aké programovacie jazyky však pomohli organizácii vytvoriť takéto futuristické produkty? Poďme zistiť.
Programovacie jazyky používané v Tesle
1. C & C++
V posledných rokoch došlo k prílevu veľkého množstva nových programovacích jazykov ako Elixir, Pony, Julia atď., ktoré boli vytvorené tak, aby uľahčili úlohy s čo najmenším množstvom kódu. Tesla sa však stále vo veľkej miere spolieha na jeden z najzákladnejších jazykov: C & C++.
„Väčšina softvéru v autá Tesla je C alebo C++,“ povedal Mehdi Amini, technický manažér spoločnosti Tesla. Jednou z najväčších predností medzi týmito starými jazykmi a pravdepodobne dôvodom ich prežitia v priebehu času je, že tieto jazyky môžu bežať na takmer akomkoľvek systéme. Vďaka svojej blízkosti k OS sú tieto na nízkej úrovni programovacie jazyky sa používajú vo väčšine IoT a vstavaných systémoch a pomáhajú inžinierom optimalizovať softvér.
„Žiadny programovací jazyk sa nepriblížil k C alebo C++, pokiaľ ide o efektivitu. Väčšina moderných programovacích jazykov s garbage collectorom je nedeterministická, pokiaľ ide o správu pamäte, to jednoducho nie je vhodné pre kritické vstavané systémy, ako sú tie v automobiloch Tesla,“ povedal Mehdi. Ďalšou významnou technologickou spoločnosťou, ktorá vo veľkej miere používa C & C++, je Nvidia.
2. krajta
Okrem C & C++ sa Tesla vo veľkej miere spolieha aj na pravdepodobne najpopulárnejší a najpoužívanejší jazyk; Pytón. V sérii tweetov Elon vysvetľuje, ako používajú kombináciu C/C++ a Python na vytvorenie svojich algoritmov:
Naša NN je spočiatku v Pythone pre rýchlu iteráciu, potom je prevedená na C++/C/raw kovový ovládač pre rýchlosť (dôležité!). Tiež veľa inžinierov C++/C potrebných na ovládanie vozidla a celý zvyšok auta. Vzdelanie je irelevantné, ale všetci musia prejsť tvrdým testom kódovania.
- Elon Musk (@elonmusk) Februára 3, 2020
Tento tweet podnietil mnohých vývojárov, aby poukázali na nedostatky konverzie z Pythonu na C++/C, ale majme na pamäti, že tweet je len zhusteným vysvetlením dobre premysleného procesu a nezodpovedá skutočnému použité techniky. Soumith Chintala, spolutvorca PyTorch, vysvetľuje, že s najväčšou pravdepodobnosťou nasledujú automatickú konverziu z Pythonu do C & C++. Elon tiež poukázal na ich závislosť od PyTorch;
PyTorch je najčastejšie používaná externá sada/knižnica nástrojov
- Elon Musk (@elonmusk) Februára 3, 2020
PyTorch je knižnica vytvorená pre strojové učenie, počítačové videnie a spracovanie prirodzeného jazyka. Je úplne open-source a vytvorilo ho výskumné laboratórium AI spoločnosti Facebook.
3. Java & Javascript
Na základe prieskumu Burning Glass sú Java a Javascript ďalšie v poradí z hľadiska používania a významu pre jazyky v Tesle. Oba tieto jazyky sa vo veľkej miere používajú v systémoch a aplikáciách pre ich autá. C++, Python a Java sú jazyky požadované na takmer všetkých pracovných pozíciách v Tesle. Tesla navyše vyžaduje veľkú znalosť jazyka Javascript pre úlohy zahŕňajúce front-end programovanie. Zistite viac o Jobs v Tesle tu.
4. Iné jazyky
Tesla tiež vyžaduje dokonalosť v iných programovacích jazykoch na základe špecifických funkcií, ktoré každý z nich vykonáva. Reagovať a strojopisom sú jazyky založené na Javascripte, ktoré Tesla vo veľkej miere používa na vývoj front-endov. navyše rubín, CSS a PHP sú potrebné v rolách zahŕňajúcich vývoj webu. Napokon, SQL sa používa vo veľkom meradle na správu databáz. Všetky tieto jazyky sa kombinujú a vytvárajú produkty, ktoré nás zanechávajú v úžase.
záver
Aj keď je Tesla jednou z najväčších technologických spoločností na svete, spolieha sa predovšetkým na programovacie jazyky starej školy. Python, C & C++ je nutnosťou, ak chcete pracovať pre spoločnosti ako Tesla, SpaceX, Nvidia, Intel atď. Tesla však má viac ako 300 inžinierov, ktorí pracujú s rôznymi súbormi zručností, z ktorých všetci tvoria komplex siete prevádzkovať svoje produkty. Vaša voľba, ktorý programovací jazyk sa chcete naučiť, by mala úplne závisieť od druhu funkcie, ktorú chcete vykonávať. Vyberaj múdro!
Nechaj odpoveď